Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1763445Ab3DCKQm (ORCPT ); Wed, 3 Apr 2013 06:16:42 -0400 Received: from e28smtp05.in.ibm.com ([122.248.162.5]:58184 "EHLO e28smtp05.in.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1762115Ab3DCKQk (ORCPT ); Wed, 3 Apr 2013 06:16:40 -0400 From: Wanpeng Li To: Greg Kroah-Hartman Cc: Andrew Morton , Dan Magenheimer , Seth Jennings , Konrad Rzeszutek Wilk , Minchan Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Fengguang Wu , Wanpeng Li Subject: [PATCH v6 1/3] staging: zcache: fix static variables defined in debug.h but used in mutiple C files Date: Wed, 3 Apr 2013 18:16:21 +0800 Message-Id: <1364984183-9711-2-git-send-email-liwanp@linux.vnet.ibm.com> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1364984183-9711-1-git-send-email-liwanp@linux.vnet.ibm.com> References: <1364984183-9711-1-git-send-email-liwanp@linux.vnet.ibm.com> X-TM-AS-MML: No X-Content-Scanned: Fidelis XPS MAILER x-cbid: 13040310-8256-0000-0000-000006EAE7CC Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 8067 Lines: 205 After commit 95bdaee214 ("zcache: Move debugfs code out of zcache-main.c file") be merged, most of knods in zcache debugfs just export zero since these variables are defined in debug.h but are in use in multiple C files zcache-main.c and debug.c, in this case variables can't be treated as shared variables. Signed-off-by: Wanpeng Li --- drivers/staging/zcache/debug.c | 32 ++++++++++++++++++++ drivers/staging/zcache/debug.h | 62 ++++++++++++++++++++-------------------- 2 files changed, 63 insertions(+), 31 deletions(-) diff --git a/drivers/staging/zcache/debug.c b/drivers/staging/zcache/debug.c index d2d1fdf..faab2a9 100644 --- a/drivers/staging/zcache/debug.c +++ b/drivers/staging/zcache/debug.c @@ -4,6 +4,38 @@ #ifdef CONFIG_ZCACHE_DEBUG #include +ssize_t zcache_obj_count; +ssize_t zcache_obj_count_max; +ssize_t zcache_objnode_count; +ssize_t zcache_objnode_count_max; +u64 zcache_eph_zbytes; +u64 zcache_eph_zbytes_max; +u64 zcache_pers_zbytes_max; +ssize_t zcache_eph_pageframes_max; +ssize_t zcache_pers_pageframes_max; +ssize_t zcache_pageframes_alloced; +ssize_t zcache_pageframes_freed; +ssize_t zcache_eph_zpages; +ssize_t zcache_eph_zpages_max; +ssize_t zcache_pers_zpages_max; +ssize_t zcache_flush_total; +ssize_t zcache_flush_found; +ssize_t zcache_flobj_total; +ssize_t zcache_flobj_found; +ssize_t zcache_failed_eph_puts; +ssize_t zcache_failed_pers_puts; +ssize_t zcache_failed_getfreepages; +ssize_t zcache_failed_alloc; +ssize_t zcache_put_to_flush; +ssize_t zcache_compress_poor; +ssize_t zcache_mean_compress_poor; +ssize_t zcache_eph_ate_tail; +ssize_t zcache_eph_ate_tail_failed; +ssize_t zcache_pers_ate_eph; +ssize_t zcache_pers_ate_eph_failed; +ssize_t zcache_evicted_eph_zpages; +ssize_t zcache_evicted_eph_pageframes; + #define ATTR(x) { .name = #x, .val = &zcache_##x, } static struct debug_entry { const char *name; diff --git a/drivers/staging/zcache/debug.h b/drivers/staging/zcache/debug.h index 4bbe49b..8ec82d4 100644 --- a/drivers/staging/zcache/debug.h +++ b/drivers/staging/zcache/debug.h @@ -3,9 +3,9 @@ #ifdef CONFIG_ZCACHE_DEBUG /* we try to keep these statistics SMP-consistent */ -static ssize_t zcache_obj_count; +extern ssize_t zcache_obj_count; static atomic_t zcache_obj_atomic = ATOMIC_INIT(0); -static ssize_t zcache_obj_count_max; +extern ssize_t zcache_obj_count_max; static inline void inc_zcache_obj_count(void) { zcache_obj_count = atomic_inc_return(&zcache_obj_atomic); @@ -17,9 +17,9 @@ static inline void dec_zcache_obj_count(void) zcache_obj_count = atomic_dec_return(&zcache_obj_atomic); BUG_ON(zcache_obj_count < 0); }; -static ssize_t zcache_objnode_count; +extern ssize_t zcache_objnode_count; static atomic_t zcache_objnode_atomic = ATOMIC_INIT(0); -static ssize_t zcache_objnode_count_max; +extern ssize_t zcache_objnode_count_max; static inline void inc_zcache_objnode_count(void) { zcache_objnode_count = atomic_inc_return(&zcache_objnode_atomic); @@ -31,9 +31,9 @@ static inline void dec_zcache_objnode_count(void) zcache_objnode_count = atomic_dec_return(&zcache_objnode_atomic); BUG_ON(zcache_objnode_count < 0); }; -static u64 zcache_eph_zbytes; +extern u64 zcache_eph_zbytes; static atomic_long_t zcache_eph_zbytes_atomic = ATOMIC_INIT(0); -static u64 zcache_eph_zbytes_max; +extern u64 zcache_eph_zbytes_max; static inline void inc_zcache_eph_zbytes(unsigned clen) { zcache_eph_zbytes = atomic_long_add_return(clen, &zcache_eph_zbytes_atomic); @@ -46,7 +46,7 @@ static inline void dec_zcache_eph_zbytes(unsigned zsize) }; extern u64 zcache_pers_zbytes; static atomic_long_t zcache_pers_zbytes_atomic = ATOMIC_INIT(0); -static u64 zcache_pers_zbytes_max; +extern u64 zcache_pers_zbytes_max; static inline void inc_zcache_pers_zbytes(unsigned clen) { zcache_pers_zbytes = atomic_long_add_return(clen, &zcache_pers_zbytes_atomic); @@ -59,7 +59,7 @@ static inline void dec_zcache_pers_zbytes(unsigned zsize) } extern ssize_t zcache_eph_pageframes; static atomic_t zcache_eph_pageframes_atomic = ATOMIC_INIT(0); -static ssize_t zcache_eph_pageframes_max; +extern ssize_t zcache_eph_pageframes_max; static inline void inc_zcache_eph_pageframes(void) { zcache_eph_pageframes = atomic_inc_return(&zcache_eph_pageframes_atomic); @@ -72,7 +72,7 @@ static inline void dec_zcache_eph_pageframes(void) }; extern ssize_t zcache_pers_pageframes; static atomic_t zcache_pers_pageframes_atomic = ATOMIC_INIT(0); -static ssize_t zcache_pers_pageframes_max; +extern ssize_t zcache_pers_pageframes_max; static inline void inc_zcache_pers_pageframes(void) { zcache_pers_pageframes = atomic_inc_return(&zcache_pers_pageframes_atomic); @@ -83,21 +83,21 @@ static inline void dec_zcache_pers_pageframes(void) { zcache_pers_pageframes = atomic_dec_return(&zcache_pers_pageframes_atomic); } -static ssize_t zcache_pageframes_alloced; +extern ssize_t zcache_pageframes_alloced; static atomic_t zcache_pageframes_alloced_atomic = ATOMIC_INIT(0); static inline void inc_zcache_pageframes_alloced(void) { zcache_pageframes_alloced = atomic_inc_return(&zcache_pageframes_alloced_atomic); }; -static ssize_t zcache_pageframes_freed; +extern ssize_t zcache_pageframes_freed; static atomic_t zcache_pageframes_freed_atomic = ATOMIC_INIT(0); static inline void inc_zcache_pageframes_freed(void) { zcache_pageframes_freed = atomic_inc_return(&zcache_pageframes_freed_atomic); } -static ssize_t zcache_eph_zpages; +extern ssize_t zcache_eph_zpages; static atomic_t zcache_eph_zpages_atomic = ATOMIC_INIT(0); -static ssize_t zcache_eph_zpages_max; +extern ssize_t zcache_eph_zpages_max; static inline void inc_zcache_eph_zpages(void) { zcache_eph_zpages = atomic_inc_return(&zcache_eph_zpages_atomic); @@ -110,7 +110,7 @@ static inline void dec_zcache_eph_zpages(unsigned zpages) } extern ssize_t zcache_pers_zpages; static atomic_t zcache_pers_zpages_atomic = ATOMIC_INIT(0); -static ssize_t zcache_pers_zpages_max; +extern ssize_t zcache_pers_zpages_max; static inline void inc_zcache_pers_zpages(void) { zcache_pers_zpages = atomic_inc_return(&zcache_pers_zpages_atomic); @@ -130,23 +130,23 @@ static inline unsigned long curr_pageframes_count(void) atomic_read(&zcache_pers_pageframes_atomic); }; /* but for the rest of these, counting races are ok */ -static ssize_t zcache_flush_total; -static ssize_t zcache_flush_found; -static ssize_t zcache_flobj_total; -static ssize_t zcache_flobj_found; -static ssize_t zcache_failed_eph_puts; -static ssize_t zcache_failed_pers_puts; -static ssize_t zcache_failed_getfreepages; -static ssize_t zcache_failed_alloc; -static ssize_t zcache_put_to_flush; -static ssize_t zcache_compress_poor; -static ssize_t zcache_mean_compress_poor; -static ssize_t zcache_eph_ate_tail; -static ssize_t zcache_eph_ate_tail_failed; -static ssize_t zcache_pers_ate_eph; -static ssize_t zcache_pers_ate_eph_failed; -static ssize_t zcache_evicted_eph_zpages; -static ssize_t zcache_evicted_eph_pageframes; +extern ssize_t zcache_flush_total; +extern ssize_t zcache_flush_found; +extern ssize_t zcache_flobj_total; +extern ssize_t zcache_flobj_found; +extern ssize_t zcache_failed_eph_puts; +extern ssize_t zcache_failed_pers_puts; +extern ssize_t zcache_failed_getfreepages; +extern ssize_t zcache_failed_alloc; +extern ssize_t zcache_put_to_flush; +extern ssize_t zcache_compress_poor; +extern ssize_t zcache_mean_compress_poor; +extern ssize_t zcache_eph_ate_tail; +extern ssize_t zcache_eph_ate_tail_failed; +extern ssize_t zcache_pers_ate_eph; +extern ssize_t zcache_pers_ate_eph_failed; +extern ssize_t zcache_evicted_eph_zpages; +extern ssize_t zcache_evicted_eph_pageframes; extern ssize_t zcache_last_active_file_pageframes; extern ssize_t zcache_last_inactive_file_pageframes; -- 1.7.5.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/