From 1cec9b70a23499b310f613f63f12099811faaa25 Mon Sep 17 00:00:00 2001 From: Martin Baulig Date: Sun, 18 Apr 1999 11:47:58 +0000 Subject: [PATCH] Thanks to Drazen Kacar for pointing out that not all processors must be 1999-04-18 Martin Baulig Thanks to Drazen Kacar for pointing out that not all processors must be running all the time under Solaris, so we need to have some flag to find out which processors are running. * (glibtop_cpu): Added `xcpu_flags' bitmask of running processors. * (glibtop_proc_time): Added `xcpu_flags'. --- ChangeLog | 9 +++++++++ features.def | 4 ++-- include/glibtop/cpu.h | 6 ++++-- include/glibtop/proctime.h | 6 ++++-- sysdeps/names/cpu.c | 6 ++++-- sysdeps/names/proctime.c | 8 +++++--- 6 files changed, 28 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 94f4b567..1f0895f9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +1999-04-18 Martin Baulig + + Thanks to Drazen Kacar for pointing out that not all processors must + be running all the time under Solaris, so we need to have some flag + to find out which processors are running. + + * (glibtop_cpu): Added `xcpu_flags' bitmask of running processors. + * (glibtop_proc_time): Added `xcpu_flags'. + 1999-04-18 Martin Baulig * include/glibtop/limits.h: New file. diff --git a/features.def b/features.def index 8c452e5f..b5b110b3 100644 --- a/features.def +++ b/features.def @@ -1,4 +1,4 @@ -void|cpu|ulong(total,user,nice,sys,idle,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4]) +void|cpu|ulong(total,user,nice,sys,idle,frequency,xcpu_total[256],xcpu_user[256],xcpu_nice[256],xcpu_sys[256],xcpu_idle[256],xcpu_flags) void|mem|ulong(total,used,free,shared,buffer,cached,user,locked) void|swap|ulong(total,used,free,pagein,pageout) void|uptime|double(uptime,idletime):ulong(boot_time) @@ -10,7 +10,7 @@ unsigned *|proclist|ulong(number,size,total)|long(which,arg) void|proc_state|str(cmd):unsigned(state):ulong(uid,gid,ruid,rgid,has_cpu,processor,last_processor)|pid_t(pid) void|proc_uid|long(uid,euid,gid,egid,suid,sgid,fsuid,fsgid,pid,ppid,pgrp,session,tty,tpgid,priority,nice,ngroups,groups[32])|pid_t(pid) void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid) -void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[4],xcpu_stime[4])|pid_t(pid) +void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[256],xcpu_stime[256],xcpu_flags)|pid_t(pid) void|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid) void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):str(wchan)|pid_t(pid) void|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_data,end_data,start_brk,end_brk,start_stack,start_mmap,arg_start,arg_end,env_start,env_end)|pid_t(pid) diff --git a/include/glibtop/cpu.h b/include/glibtop/cpu.h index e9fb3f0d..efdad441 100644 --- a/include/glibtop/cpu.h +++ b/include/glibtop/cpu.h @@ -43,8 +43,9 @@ BEGIN_LIBGTOP_DECLS #define GLIBTOP_XCPU_NICE 8 #define GLIBTOP_XCPU_SYS 9 #define GLIBTOP_XCPU_IDLE 10 +#define GLIBTOP_XCPU_FLAGS 11 -#define GLIBTOP_MAX_CPU 11 +#define GLIBTOP_MAX_CPU 12 typedef struct _glibtop_cpu glibtop_cpu; @@ -61,7 +62,8 @@ struct _glibtop_cpu xcpu_user [GLIBTOP_NCPU], /* GLIBTOP_XCPU_USER */ xcpu_nice [GLIBTOP_NCPU], /* GLIBTOP_XCPU_NICE */ xcpu_sys [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SYS */ - xcpu_idle [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IDLE */ + xcpu_idle [GLIBTOP_NCPU], /* GLIBTOP_XCPU_IDLE */ + xcpu_flags; /* GLIBTOP_XCPU_FLAGS */ }; #define glibtop_get_cpu(cpu) glibtop_get_cpu_l(glibtop_global_server, cpu) diff --git a/include/glibtop/proctime.h b/include/glibtop/proctime.h index 81349ac1..9d649f37 100644 --- a/include/glibtop/proctime.h +++ b/include/glibtop/proctime.h @@ -43,8 +43,9 @@ BEGIN_LIBGTOP_DECLS #define GLIBTOP_PROC_TIME_FREQUENCY 8 #define GLIBTOP_PROC_TIME_XCPU_UTIME 9 #define GLIBTOP_PROC_TIME_XCPU_STIME 10 +#define GLIBTOP_PROC_TIME_XCPU_FLAGS 11 -#define GLIBTOP_MAX_PROC_TIME 11 +#define GLIBTOP_MAX_PROC_TIME 12 typedef struct _glibtop_proc_time glibtop_proc_time; @@ -69,7 +70,8 @@ struct _glibtop_proc_time * due to an interval timer. */ frequency, /* Tick frequency. */ xcpu_utime [GLIBTOP_NCPU], /* utime and stime for all CPUs on */ - xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */ + xcpu_stime [GLIBTOP_NCPU], /* SMP machines. */ + xcpu_flags; }; #define glibtop_get_proc_time(p1, p2) glibtop_get_proc_time_l(glibtop_global_server, p1, p2) diff --git a/sysdeps/names/cpu.c b/sysdeps/names/cpu.c index 7baa7366..08349051 100644 --- a/sysdeps/names/cpu.c +++ b/sysdeps/names/cpu.c @@ -29,7 +29,7 @@ const char *glibtop_names_cpu[GLIBTOP_MAX_CPU] = { "total", "user", "nice", "sys", "idle", "frequency", "xcpu_total", "xcpu_user", "xcpu_nice", "xcpu_sys", - "xcpu_idle" + "xcpu_idle", "xcpu_flags" }; const unsigned glibtop_types_cpu[GLIBTOP_MAX_CPU] = @@ -37,7 +37,7 @@ const unsigned glibtop_types_cpu[GLIBTOP_MAX_CPU] = GLIBTOP_TYPE_ULONG, GLIBTOP_TYPE_ULONG, GLIBTOP_TYPE_ULONG, GLIBTOP_TYPE_ULONG, GLIBTOP_TYPE_ULONG, GLIBTOP_TYPE_ULONG, GLIBTOP_TYPE_ULONG, GLIBTOP_TYPE_ULONG, GLIBTOP_TYPE_ULONG, - GLIBTOP_TYPE_ULONG, GLIBTOP_TYPE_ULONG + GLIBTOP_TYPE_ULONG, GLIBTOP_TYPE_ULONG, GLIBTOP_TYPE_ULONG }; const char *glibtop_labels_cpu[GLIBTOP_MAX_CPU] = @@ -53,6 +53,7 @@ const char *glibtop_labels_cpu[GLIBTOP_MAX_CPU] = N_ ("SMP CPU Time in User Mode (nice)"), N_ ("SMP CPU Time in System Mode"), N_ ("SMP CPU Time in the Idle Task") + N_ ("SMP CPU Flags") }; const char *glibtop_descriptions_cpu[GLIBTOP_MAX_CPU] = @@ -68,4 +69,5 @@ const char *glibtop_descriptions_cpu[GLIBTOP_MAX_CPU] = N_ ("Number of clock ticks the system spent in user mode (nice)"), N_ ("Number of clock ticks the system spent in system mode"), N_ ("Number of clock ticks the system spent in the idle task"), + N_ ("SMP CPU Flags") }; diff --git a/sysdeps/names/proctime.c b/sysdeps/names/proctime.c index 5de87bce..ce91de24 100644 --- a/sysdeps/names/proctime.c +++ b/sysdeps/names/proctime.c @@ -30,7 +30,7 @@ const char *glibtop_names_proc_time[GLIBTOP_MAX_PROC_TIME] = { "start_time", "rtime", "utime", "stime", "cutime", "cstime", "timeout", "it_real_value", "timeout", "xcpu_utime", - "xcpu_stime" + "xcpu_stime", "xcpu_flags" }; const unsigned glibtop_types_proc_time[GLIBTOP_MAX_PROC_TIME] = @@ -38,14 +38,15 @@ const unsigned glibtop_types_proc_time[GLIBTOP_MAX_PROC_TIME] = GLIBTOP_TYPE_LONG, GLIBTOP_TYPE_LONG, GLIBTOP_TYPE_LONG, GLIBTOP_TYPE_LONG, GLIBTOP_TYPE_LONG, GLIBTOP_TYPE_LONG, GLIBTOP_TYPE_LONG, GLIBTOP_TYPE_LONG, GLIBTOP_TYPE_LONG, - GLIBTOP_TYPE_LONG, GLIBTOP_TYPE_LONG + GLIBTOP_TYPE_LONG, GLIBTOP_TYPE_LONG, GLIBTOP_TYPE_LONG }; const char *glibtop_labels_proc_time[GLIBTOP_MAX_PROC_TIME] = { N_ ("Start_Time"), N_ ("RTime"), N_ ("UTime"), N_ ("STime"), N_ ("CUTime"), N_ ("CSTime"), N_ ("TimeOut"), N_ ("It_Real_Value"), - N_ ("Frequency"), N_ ("XCPU_UTime"), N_ ("XCPU_STime") + N_ ("Frequency"), N_ ("XCPU_UTime"), N_ ("XCPU_STime"), + N_ ("XCPU_Flags") }; const char *glibtop_descriptions_proc_time[GLIBTOP_MAX_PROC_TIME] = @@ -62,4 +63,5 @@ const char *glibtop_descriptions_proc_time[GLIBTOP_MAX_PROC_TIME] = N_ ("Tick frequency"), N_ ("SMP user-mode CPU time accumulated by process"), N_ ("SMP kernel-mode CPU time accumulated by process") + N_ ("SMP CPU Flags") };