Messages in this thread | | | Subject | Re: [PATCH] mm: Provide consistent declaration for num_poisoned_pages | From | Guenter Roeck <> | Date | Mon, 26 Feb 2018 18:13:57 -0800 |
| |
On 02/26/2018 03:57 PM, David Rientjes wrote: > On Mon, 26 Feb 2018, Guenter Roeck wrote: > >> clang reports the following compile warning. >> >> In file included from mm/vmscan.c:56: >> ./include/linux/swapops.h:327:22: warning: >> section attribute is specified on redeclared variable [-Wsection] >> extern atomic_long_t num_poisoned_pages __read_mostly; >> ^ >> ./include/linux/mm.h:2585:22: note: previous declaration is here >> extern atomic_long_t num_poisoned_pages; >> ^ >> >> Let's use __read_mostly everywhere. >> >> Signed-off-by: Guenter Roeck <linux@roeck-us.net> >> Cc: Matthias Kaehlcke <mka@chromium.org> >> --- >> include/linux/mm.h | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/include/linux/mm.h b/include/linux/mm.h >> index ad06d42adb1a..bd4bd59f02c1 100644 >> --- a/include/linux/mm.h >> +++ b/include/linux/mm.h >> @@ -2582,7 +2582,7 @@ extern int get_hwpoison_page(struct page *page); >> extern int sysctl_memory_failure_early_kill; >> extern int sysctl_memory_failure_recovery; >> extern void shake_page(struct page *p, int access); >> -extern atomic_long_t num_poisoned_pages; >> +extern atomic_long_t num_poisoned_pages __read_mostly; >> extern int soft_offline_page(struct page *page, int flags); >> >> > > No objection to the patch, of course, but I'm wondering if it's (1) the > only such clang compile warning for mm/, and (2) if the re-declaration in
It is the only one I recall seeing in mm/ while testing the clang/retpoline changes with ToT clang 7.0.0, but then I didn't pay too close attention.
> mm.h could be avoided by including swapops.h? >
Another alternative would be to remove the extern fom swapops.h and have swapops.h include mm.h instead. I chose the least invasive change since I didn't want to risk breaking some other build (after all, maybe there was a reason for declaring num_poisoned_pages in two include files).
Guenter
| |