Whamcloud - gitweb
LU-1245 lprocfs: use correct cpu number
authorBobi Jam <bobijam@whamcloud.com>
Tue, 27 Mar 2012 02:50:06 +0000 (10:50 +0800)
committerOleg Drokin <green@whamcloud.com>
Fri, 6 Apr 2012 06:35:38 +0000 (02:35 -0400)
Take care of correct cpu number in lprocfs_stats_collector().

Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: Ifb149f64ee6d5b67a029331c0d0452fc29533c6b
Reviewed-on: http://review.whamcloud.com/2384
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lprocfs_status.h

index c7f7833..d9b69fb 100644 (file)
@@ -422,13 +422,17 @@ static inline __u64 lprocfs_stats_collector(struct lprocfs_stats *stats,
                                             int idx,
                                             enum lprocfs_fields_flags field)
 {
-        __u64 ret = 0;
-        int i;
+        __u64        ret = 0;
+        int          i;
+        unsigned int num_cpu;
 
         LASSERT(stats != NULL);
-        for (i = 0; i < cfs_num_possible_cpus(); i++)
+
+        num_cpu = lprocfs_stats_lock(stats, LPROCFS_GET_NUM_CPU);
+        for (i = 0; i < num_cpu; i++)
                 ret += lprocfs_read_helper(&(stats->ls_percpu[i]->lp_cntr[idx]),
                                            field);
+        lprocfs_stats_unlock(stats, LPROCFS_GET_NUM_CPU);
         return ret;
 }