Whamcloud - gitweb
LU-1282 lprocfs: Add a module param to disable percpu stats
authorBobi Jam <bobijam@whamcloud.com>
Thu, 12 Apr 2012 00:48:42 +0000 (08:48 +0800)
committerOleg Drokin <green@whamcloud.com>
Wed, 18 Apr 2012 16:49:45 +0000 (12:49 -0400)
Add an obdclass module option to choose to use a single lprocfs stats
structure rather than percpu data.

Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I45d5a05029197e629d4f7d161a5e4e5d01a93bf5
Reviewed-on: http://review.whamcloud.com/2515
Tested-by: Hudson
Reviewed-by: Christopher J. Morrone <chris.morrone.llnl@gmail.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/obdclass/lprocfs_status.c

index 921f907..1c11c5a 100644 (file)
 
 #if defined(LPROCFS)
 
 
 #if defined(LPROCFS)
 
+static int lprocfs_no_percpu_stats = 0;
+CFS_MODULE_PARM(lprocfs_no_percpu_stats, "i", int, 0644,
+                "Do not alloc percpu data for lprocfs stats");
+
 #define MAX_STRING_SIZE 128
 
 /* for bug 10866, global variable */
 #define MAX_STRING_SIZE 128
 
 /* for bug 10866, global variable */
@@ -1195,6 +1199,9 @@ struct lprocfs_stats *lprocfs_alloc_stats(unsigned int num,
         if (num == 0)
                 return NULL;
 
         if (num == 0)
                 return NULL;
 
+        if (lprocfs_no_percpu_stats != 0)
+                flags |= LPROCFS_STATS_FLAG_NOPERCPU;
+
         if (flags & LPROCFS_STATS_FLAG_NOPERCPU)
                 num_cpu = 1;
         else
         if (flags & LPROCFS_STATS_FLAG_NOPERCPU)
                 num_cpu = 1;
         else