Whamcloud - gitweb
Branch HEAD
authorbobijam <bobijam>
Wed, 10 Sep 2008 03:05:57 +0000 (03:05 +0000)
committerbobijam <bobijam>
Wed, 10 Sep 2008 03:05:57 +0000 (03:05 +0000)
b=17023
o=adilger
i=zhenyu.xu (bobijam)
i=johann

per-nid statistics are collected incorrectly.

lustre/obdfilter/lproc_obdfilter.c

index e25568c..d5e7a4a 100644 (file)
@@ -308,8 +308,8 @@ void filter_tally(struct obd_export *exp, struct page **pages, int nr_pages,
         lprocfs_oh_tally_log2(&fed->fed_brw_stats.hist[BRW_R_PAGES + wr],
                               nr_pages);
         if (exp->exp_nid_stats && exp->exp_nid_stats->nid_brw_stats)
-                lprocfs_oh_tally_log2(&exp->exp_nid_stats->nid_brw_stats->hist[BRW_W_PAGES + wr],
-                                      nr_pages);
+                lprocfs_oh_tally_log2(&exp->exp_nid_stats->nid_brw_stats->
+                                        hist[BRW_R_PAGES + wr], nr_pages);
 
         while (nr_pages-- > 0) {
                 if (last_page && (*pages)->index != (last_page->index + 1))
@@ -333,9 +333,11 @@ void filter_tally(struct obd_export *exp, struct page **pages, int nr_pages,
                          discont_blocks);
 
         if (exp->exp_nid_stats && exp->exp_nid_stats->nid_brw_stats) {
-                lprocfs_oh_tally_log2(&exp->exp_nid_stats->nid_brw_stats->hist[BRW_W_DISCONT_PAGES + wr],
+                lprocfs_oh_tally_log2(&exp->exp_nid_stats->nid_brw_stats->
+                                        hist[BRW_R_DISCONT_PAGES + wr],
                                       discont_pages);
-                lprocfs_oh_tally_log2(&exp->exp_nid_stats->nid_brw_stats->hist[BRW_W_DISCONT_BLOCKS + wr],
+                lprocfs_oh_tally_log2(&exp->exp_nid_stats->nid_brw_stats->
+                                        hist[BRW_R_DISCONT_BLOCKS + wr],
                                       discont_blocks);
         }
 }
@@ -349,7 +351,7 @@ static void display_brw_stats(struct seq_file *seq, char *name, char *units,
         int i;
 
         seq_printf(seq, "\n%26s read      |     write\n", " ");
-        seq_printf(seq, "%-22s %-5s %% cum %% |  %-5s %% cum %%\n", 
+        seq_printf(seq, "%-22s %-5s %% cum %% |  %-5s %% cum %%\n",
                    name, units, units);
 
         read_tot = lprocfs_oh_sum(read);
@@ -362,7 +364,7 @@ static void display_brw_stats(struct seq_file *seq, char *name, char *units,
                 if (read_cum == 0 && write_cum == 0)
                         continue;
 
-                if (!log2) 
+                if (!log2)
                         seq_printf(seq, "%u", i);
                 else if (i < 10)
                         seq_printf(seq, "%u", 1<<i);
@@ -372,7 +374,7 @@ static void display_brw_stats(struct seq_file *seq, char *name, char *units,
                         seq_printf(seq, "%uM", 1<<(i-20));
 
                 seq_printf(seq, ":\t\t%10lu %3lu %3lu   | %4lu %3lu %3lu\n",
-                           r, pct(r, read_tot), pct(read_cum, read_tot), 
+                           r, pct(r, read_tot), pct(read_cum, read_tot),
                            w, pct(w, write_tot), pct(write_cum, write_tot));
 
                 if (read_cum == read_tot && write_cum == write_tot)