[BACK]Return to vmstat.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / vmstat

Diff for /src/usr.bin/vmstat/vmstat.c between version 1.123 and 1.124

version 1.123, 2013/08/22 04:43:40 version 1.124, 2013/10/08 03:04:17
Line 64 
Line 64 
 struct nlist namelist[] = {  struct nlist namelist[] = {
 #define X_UVMEXP        0               /* sysctl */  #define X_UVMEXP        0               /* sysctl */
         { "_uvmexp" },          { "_uvmexp" },
 #define X_BOOTTIME      1               /* sysctl */  #define X_TIME_UPTIME   1
         { "_boottime" },          { "_time_uptime" },
 #define X_NCHSTATS      2               /* sysctl */  #define X_NCHSTATS      2               /* sysctl */
         { "_nchstats" },          { "_nchstats" },
 #define X_KMEMSTAT      3               /* sysctl */  #define X_KMEMSTAT      3               /* sysctl */
Line 78 
Line 78 
         { "_nselcoll" },          { "_nselcoll" },
 #define X_POOLHEAD      7               /* sysctl */  #define X_POOLHEAD      7               /* sysctl */
         { "_pool_head" },          { "_pool_head" },
   #define X_NAPTIME       8
           { "_naptime" },
         { "" },          { "" },
 };  };
   
Line 291 
Line 293 
 time_t  time_t
 getuptime(void)  getuptime(void)
 {  {
         static struct timeval boottime;          struct timespec uptime;
         static time_t now;          time_t time_uptime, naptime;
         time_t uptime;  
         size_t size;  
         int mib[2];  
   
         if (boottime.tv_sec == 0) {          if (nlistf == NULL && memf == NULL) {
                 if (nlistf == NULL && memf == NULL) {                  if (clock_gettime(CLOCK_UPTIME, &uptime) == -1)
                         size = sizeof(boottime);                          err(1, "clock_gettime");
                         mib[0] = CTL_KERN;                  return (uptime.tv_sec);
                         mib[1] = KERN_BOOTTIME;  
                         if (sysctl(mib, 2, &boottime, &size, NULL, 0) < 0) {  
                                 warn("could not get kern.boottime");  
                                 bzero(&boottime, sizeof(boottime));  
                         }  
                 } else {  
                         kread(X_BOOTTIME, &boottime, sizeof(boottime));  
                 }  
         }          }
         (void)time(&now);  
         uptime = now - boottime.tv_sec;  
         if (uptime <= 0 || uptime > 60*60*24*365*10)  
                 errx(1, "time makes no sense; namelist must be wrong");  
   
         return(uptime);          kread(X_NAPTIME, &naptime, sizeof(naptime));
           kread(X_TIME_UPTIME, &time_uptime, sizeof(time_uptime));
           return (time_uptime - naptime);
 }  }
   
 int     hz;  int     hz;

Legend:
Removed from v.1.123  
changed lines
  Added in v.1.124