15978N/Adiff -urN libgtop-2.25.91/include/glibtop/procstate.h ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/include/glibtop/procstate.h
15978N/A--- libgtop-2.25.91/include/glibtop/procstate.h 2008-05-23 22:13:20.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/include/glibtop/procstate.h 2009-02-25 17:16:38.052247000 +0000
15978N/A--- libgtop-2.25.91/procmap.c 1970-01-01 00:00:00.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/procmap.c 2009-02-25 17:16:38.053079000 +0000
13939N/A+#include <glibtop/error.h>
13939N/A+#include <glibtop/procmap.h>
13939N/A+ server->sysdeps.proc_map = _glibtop_sysdeps_proc_map;
13939N/A+ maps = g_alloca(inode.st_size);
13939N/A+ nmaps = inode.st_size / sizeof(prxmap_t);
13939N/A+// server->machine.pfree)
13939N/A+// Pr = (server->machine.pgrab)(pid, 1, &pr_err);
13939N/A+// server->machine.objname(Pr, maps[i].pr_vaddr, buffer,
13939N/A+// server->machine.pfree(Pr);
15978N/Adiff -urN libgtop-2.25.91/sysdeps/common/fsusage.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/common/fsusage.c
15978N/A--- libgtop-2.25.91/sysdeps/common/fsusage.c 2008-05-23 22:13:22.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/common/fsusage.c 2009-02-25 17:25:57.183257000 +0000
15978N/Adiff -urN libgtop-2.25.91/sysdeps/common/mountlist.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/common/mountlist.c
15978N/A--- libgtop-2.25.91/sysdeps/common/mountlist.c 2008-05-23 22:13:22.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/common/mountlist.c 2009-02-25 17:16:38.053543000 +0000
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/Makefile.am ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/Makefile.am
15978N/A--- libgtop-2.25.91/sysdeps/solaris/Makefile.am 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/Makefile.am 2009-02-25 17:27:23.462319000 +0000
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/cpu.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/cpu.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/cpu.c 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/cpu.c 2009-02-25 17:16:38.055204000 +0000
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/fsusage.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/fsusage.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/fsusage.c 1970-01-01 00:00:00.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/fsusage.c 2009-02-25 17:20:33.608888000 +0000
15978N/A+#include <glibtop/error.h>
15978N/A+#include <glibtop/fsusage.h>
15978N/A+#include <glibtop/union.h>
15978N/A+#include "glibtop_private.h"
15978N/A+#include <sys/types.h>
15978N/A+#include <sys/stat.h>
15978N/A+#include <sys/statvfs.h>
15978N/A+ kstat_ctl_t * const kctl = server->machine.kc;
15978N/A+ buf->write += kio.nwritten;
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/glibtop_machine.h ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/glibtop_machine.h
15978N/A--- libgtop-2.25.91/sysdeps/solaris/glibtop_machine.h 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/glibtop_machine.h 2009-02-25 17:16:38.055426000 +0000
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/glibtop_private.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/glibtop_private.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/glibtop_private.c 1970-01-01 00:00:00.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/glibtop_private.c 2009-02-25 17:16:38.055744000 +0000
10671N/A+#include <glibtop/error.h>
10671N/A+#include "glibtop_private.h"
10671N/A+ file_to_buffer(server, buffer, "/proc/stat");
10671N/A+ glibtop_warn_io_r(server, "cannot find btime in /proc/stat");
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/glibtop_private.h ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/glibtop_private.h
15978N/A--- libgtop-2.25.91/sysdeps/solaris/glibtop_private.h 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/glibtop_private.h 2009-02-25 17:16:38.057019000 +0000
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/glibtop_server.h ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/glibtop_server.h
15978N/A--- libgtop-2.25.91/sysdeps/solaris/glibtop_server.h 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/glibtop_server.h 2009-02-25 17:16:38.057265000 +0000
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/msg_limits.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/msg_limits.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/msg_limits.c 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/msg_limits.c 2009-02-25 17:16:38.058081000 +0000
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/netload.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/netload.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/netload.c 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/netload.c 2009-02-25 17:16:38.059013000 +0000
12236N/A+ * remove this code, because they are not available at Solaris, but keep them here for reference.
13939N/A+ memcpy(buf->hwaddress, &ifr.ifr_hwaddr.sa_data, 8);
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/open.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/open.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/open.c 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/open.c 2009-02-25 17:16:38.060014000 +0000
8922N/A- dl = dlopen("/usr/lib/libproc.so", RTLD_LAZY);
8922N/A- if(server->machine.libproc)
8922N/A- dlclose(server->machine.libproc);
8922N/A- server->machine.libproc = dl;
13939N/A+ // dl = dlopen("/usr/lib/libproc.so", RTLD_LAZY);
13939N/A+ // if(server->machine.libproc)
13939N/A+// // dlclose(server->machine.libproc);
13939N/A+ // server->machine.libproc = dl;
8922N/A- server->machine.objname = (void (*)
8922N/A- server->machine.pgrab = (struct ps_prochandle *(*)(pid_t, int, int *))
8922N/A- server->machine.pfree = (void (*)(void *))dlsym(dl, "Pfree");
8922N/A- server->machine.objname = NULL;
8922N/A- server->machine.pgrab = NULL;
8922N/A- server->machine.pfree = NULL;
13939N/A+ // server->machine.objname = (void (*)
13939N/A+ // server->machine.pgrab = (struct ps_prochandle *(*)(pid_t, int, int *))
13939N/A+ // server->machine.pfree = (void (*)(void *))dlsym(dl, "Pfree");
13939N/A+ // server->machine.objname = NULL;
13939N/A+ // server->machine.pgrab = NULL;
13939N/A+ // server->machine.pfree = NULL;
8922N/A server->machine.me = getpid();
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/procaffinity.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/procaffinity.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/procaffinity.c 1970-01-01 00:00:00.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/procaffinity.c 2009-02-25 17:16:38.060320000 +0000
13939N/A+#include <glibtop/procaffinity.h>
13939N/A+#include <glibtop/error.h>
13939N/A+#include <glibtop_private.h>
13939N/A+#include <sys/param.h>
13939N/A+ server->sysdeps.proc_affinity =
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/procmap.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/procmap.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/procmap.c 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/procmap.c 2009-02-25 17:16:38.061314000 +0000
8402N/A- server->machine.pfree)
8402N/A- Pr = (server->machine.pgrab)(pid, 1, &pr_err);
13939N/A+// server->machine.pfree)
13939N/A+// Pr = (server->machine.pgrab)(pid, 1, &pr_err);
8402N/A- server->machine.objname(Pr, maps[i].pr_vaddr, buffer,
13939N/A- server->machine.pfree(Pr);
13939N/A+// server->machine.objname(Pr, maps[i].pr_vaddr, buffer,
13939N/A+// server->machine.pfree(Pr);
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/procmem.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/procmem.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/procmem.c 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/procmem.c 2009-02-25 17:16:38.061600000 +0000
8402N/A #include <glibtop/procmem.h>
8402N/A+#include <glibtop/procmap.h>
8402N/A #include "glibtop_private.h"
8402N/A buf->size = buf->vsize = psinfo.pr_size << pagesize << 10;
8402N/A buf->resident = buf->rss = psinfo.pr_rssize << pagesize << 10;
9311N/A+ /* we have to optimize the performance of libgtop, because update the information will occupy too much cpu.
9311N/A+ here I would like to make a little update:set glibtop_proc_map.flags=1,so as to let glibtop_get_proc_map_s()
9311N/A+ we do the check in glibtop_get_proc_map_s(), don't run the others part which don't need by this function,
9311N/A+ Also this will not affect the existing codes, because when nobody set glibtop_proc_map.flags,
9311N/A+ mapbuf.flags = 2;
8922N/A+ for (i = 0; i < mapbuf.number; ++i) {
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/procstate.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/procstate.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/procstate.c 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/procstate.c 2009-02-25 17:16:38.062411000 +0000
10671N/A buf->gid = psinfo.pr_egid;
9799N/A buf->ruid = psinfo.pr_uid;
9799N/A buf->rgid = psinfo.pr_gid;
13939N/A+ /* zhua: get some value here, so that we don't need run open/pread/close psinfo later,
9799N/A+ and can delete some other call for psinfo open/pread/close. it will save lots of time*/
9799N/A+ buf->nice = psinfo.pr_lwp.pr_nice - NZERO;
9799N/A+ buf->nice = psinfo.pr_nice - NZERO;
13939N/A+ buf->start_time = psinfo.pr_start.tv_sec;
9799N/A+ buf->ppid = psinfo.pr_ppid;
9799N/A+ buf->vsize = psinfo.pr_size << 10;
9799N/A+ buf->resident= psinfo.pr_rssize << 10;
10671N/A+ buf->load = (guint) psinfo.pr_lwp.pr_pctcpu * 100 / (guint) 0x8000;
9799N/A+ buf->vsize = psinfo.pr_size << pagesize << 10;
9799N/A+ buf->resident = psinfo.pr_rssize << pagesize << 10;
9799N/A+ buf->load = (guint) psinfo.pr_lwp.pr_pctcpu * 100 / (guint) 0x8000;
9799N/A switch(psinfo.pr_lwp.pr_state)
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/proctime.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/proctime.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/proctime.c 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/proctime.c 2009-02-25 17:16:38.062715000 +0000
13939N/A+ buf->start_time = pinfo.pr_start.tv_sec;
8922N/A- /* prusage.pr_rtime.tv_sec is the during that the process existed */
13939N/A+// /* prusage.pr_rtime.tv_sec is the during that the process existed */
8922N/A- buf->rtime = prusage.pr_rtime.tv_sec * 1E+6 +
8922N/A- prusage.pr_rtime.tv_nsec / 1E+3;
13939N/A+// buf->rtime = prusage.pr_rtime.tv_sec * 1E+6 +
13939N/A+// prusage.pr_rtime.tv_nsec / 1E+3;
8922N/A buf->utime = prusage.pr_utime.tv_sec * 1E+6 +
8922N/A prusage.pr_utime.tv_nsec / 1E+3;
8922N/A buf->stime = prusage.pr_stime.tv_sec * 1E+6 +
8922N/A prusage.pr_stime.tv_nsec / 1E+3;
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/procwd.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/procwd.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/procwd.c 1970-01-01 00:00:00.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/procwd.c 2009-02-25 17:16:38.062977000 +0000
10671N/A+#include <glibtop/procwd.h>
10671N/A+#include <glibtop/error.h>
10671N/A+#include <glibtop_private.h>
10671N/A+#include <sys/types.h>
10671N/A+ server->sysdeps.proc_wd =
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/sem_limits.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/sem_limits.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/sem_limits.c 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/sem_limits.c 2009-02-25 17:16:38.063802000 +0000
8922N/A kvm_t *kd = server->machine.kd;
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/shm_limits.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/shm_limits.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/shm_limits.c 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/shm_limits.c 2009-02-25 17:16:38.064069000 +0000
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/siglist.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/siglist.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/siglist.c 2008-05-23 22:13:24.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/siglist.c 2009-02-25 17:16:38.064867000 +0000
15978N/Adiff -urN libgtop-2.25.91/sysdeps/solaris/sysinfo.c ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/sysinfo.c
15978N/A--- libgtop-2.25.91/sysdeps/solaris/sysinfo.c 1970-01-01 00:00:00.000000000 +0000
15978N/A+++ ../SUNWlibgtop-2.25.91.hacked/libgtop-2.25.91/sysdeps/solaris/sysinfo.c 2009-02-25 17:16:38.065095000 +0000
8402N/A+#include <glibtop/error.h>
8402N/A+#include <glibtop/cpu.h>
8402N/A+#include <glibtop/sysinfo.h>
8402N/A+#include "glibtop_private.h"