From 3c5694283d152978ce34345fb48549f52cbf226f Mon Sep 17 00:00:00 2001 From: bobijam <bobijam> Date: Wed, 10 Sep 2008 03:05:57 +0000 Subject: [PATCH] Branch HEAD b=17023 o=adilger i=zhenyu.xu (bobijam) i=johann per-nid statistics are collected incorrectly. --- lustre/obdfilter/lproc_obdfilter.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lustre/obdfilter/lproc_obdfilter.c b/lustre/obdfilter/lproc_obdfilter.c index e25568c90b..d5e7a4a47e 100644 --- a/lustre/obdfilter/lproc_obdfilter.c +++ b/lustre/obdfilter/lproc_obdfilter.c @@ -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) -- GitLab