Diff for /src/usr.bin/vmstat/vmstat.c between versions 1.9 and 1.10

version 1.9, 2003/11/21 22:46:15 version 1.10, 2004/04/02 05:46:03
Line 390  dovmstat(u_int interval, int reps) Line 390  dovmstat(u_int interval, int reps)
         time_t uptime, halfuptime;          time_t uptime, halfuptime;
         struct devinfo *tmp_dinfo;          struct devinfo *tmp_dinfo;
         void needhdr();          void needhdr();
         int mib[2];  
         size_t size;  
         int vmm_size = sizeof(vmm);          int vmm_size = sizeof(vmm);
         int vms_size = sizeof(vms);          int vms_size = sizeof(vms);
         int vmt_size = sizeof(total);          int vmt_size = sizeof(total);
Line 559  pct(long top, long bot) Line 557  pct(long top, long bot)
 void  void
 dosum(void)  dosum(void)
 {  {
        struct nchstats nchstats;        struct nchstats *nch_tmp, nchstats;
        long nchtotal; 
         int vms_size = sizeof(vms);          int vms_size = sizeof(vms);
         int vmm_size = sizeof(vmm);          int vmm_size = sizeof(vmm);
           int cpucnt;
           u_long nchtotal;
           size_t nch_size = sizeof(struct nchstats) * SMP_MAXCPU;
   
         if (sysctlbyname("vm.vmstats", &vms, &vms_size, NULL, 0)) {          if (sysctlbyname("vm.vmstats", &vms, &vms_size, NULL, 0)) {
                 perror("sysctlbyname: vm.vmstats");                  perror("sysctlbyname: vm.vmstats");
Line 571  dosum(void) Line 571  dosum(void)
         if (sysctlbyname("vm.vmmeter", &vmm, &vmm_size, NULL, 0)) {          if (sysctlbyname("vm.vmmeter", &vmm, &vmm_size, NULL, 0)) {
                 perror("sysctlbyname: vm.vmstats");                  perror("sysctlbyname: vm.vmstats");
                 exit(1);                  exit(1);
        }         }
         (void)printf("%9u cpu context switches\n", vmm.v_swtch);          (void)printf("%9u cpu context switches\n", vmm.v_swtch);
         (void)printf("%9u device interrupts\n", vmm.v_intr);          (void)printf("%9u device interrupts\n", vmm.v_intr);
         (void)printf("%9u software interrupts\n", vmm.v_soft);          (void)printf("%9u software interrupts\n", vmm.v_soft);
Line 611  dosum(void) Line 611  dosum(void)
         (void)printf("%9u pages wired down\n", vms.v_wire_count);          (void)printf("%9u pages wired down\n", vms.v_wire_count);
         (void)printf("%9u pages free\n", vms.v_free_count);          (void)printf("%9u pages free\n", vms.v_free_count);
         (void)printf("%9u bytes per page\n", vms.v_page_size);          (void)printf("%9u bytes per page\n", vms.v_page_size);
        kread(X_NCHSTATS, &nchstats, sizeof(nchstats));        
         if ((nch_tmp = malloc(nch_size)) == NULL) {
                 perror("malloc");
                 exit(1);
         } else {
                 if (sysctlbyname("vfs.cache.nchstats", nch_tmp, &nch_size, NULL, 0)) {
                         perror("sysctlbyname vfs.cache.nchstats");
                         free(nch_tmp);
                         exit(1);
                 } else {
                         if ((nch_tmp = realloc(nch_tmp, nch_size)) == NULL) {
                                 perror("realloc");
                                 exit(1);
                         }
                 }
         }
         
         cpucnt = nch_size / sizeof(struct nchstats);
         kvm_nch_cpuagg(nch_tmp, &nchstats, cpucnt);
 
         nchtotal = nchstats.ncs_goodhits + nchstats.ncs_neghits +          nchtotal = nchstats.ncs_goodhits + nchstats.ncs_neghits +
             nchstats.ncs_badhits + nchstats.ncs_falsehits +              nchstats.ncs_badhits + nchstats.ncs_falsehits +
             nchstats.ncs_miss + nchstats.ncs_long;              nchstats.ncs_miss + nchstats.ncs_long;
Line 625  dosum(void) Line 644  dosum(void)
             PCT(nchstats.ncs_badhits, nchtotal),              PCT(nchstats.ncs_badhits, nchtotal),
             PCT(nchstats.ncs_falsehits, nchtotal),              PCT(nchstats.ncs_falsehits, nchtotal),
             PCT(nchstats.ncs_long, nchtotal));              PCT(nchstats.ncs_long, nchtotal));
           free(nch_tmp);
 }  }
   
 #ifdef notyet  #ifdef notyet
Line 748  domem(void) Line 768  domem(void)
 {  {
         register struct malloc_type *ks;          register struct malloc_type *ks;
         register int i, j;          register int i, j;
        int len, size, first, nkms;        int first, nkms;
         long totuse = 0, totfree = 0, totreq = 0;          long totuse = 0, totfree = 0, totreq = 0;
         const char *name;  
         struct malloc_type kmemstats[MAX_KMSTATS], *kmsp;          struct malloc_type kmemstats[MAX_KMSTATS], *kmsp;
         char buf[1024];          char buf[1024];
   

Removed from v.1.9  
changed lines
  Added in v.1.10