Message ID | 20240905171553.275054-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v1,1/1] mm/page_alloc: Mark has_unaccepted_memory() with __maybe_unused | expand |
On Thu, 5 Sep 2024 20:15:53 +0300 Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > When has_unaccepted_memory() is unused, it prevents kernel builds > with clang, `make W=1` and CONFIG_WERROR=y: > > mm/page_alloc.c:7036:20: error: unused function 'has_unaccepted_memory' [-Werror,-Wunused-function] > 7036 | static inline bool has_unaccepted_memory(void) > | ^~~~~~~~~~~~~~~~~~~~~ > > Fix this by marking it with __maybe_unused (all cases for the sake of > symmetry). > > See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static > inline functions for W=1 build"). > has_unaccepted_memory() has no callers if CONFIG_UNACCEPTED_MEMORY=n. Can't we do this better thing? --- a/mm/page_alloc.c~a +++ a/mm/page_alloc.c @@ -288,7 +288,6 @@ EXPORT_SYMBOL(nr_online_nodes); static bool page_contains_unaccepted(struct page *page, unsigned int order); static void accept_page(struct page *page, unsigned int order); static bool cond_accept_memory(struct zone *zone, unsigned int order); -static inline bool has_unaccepted_memory(void); static bool __free_unaccepted(struct page *page); int page_group_by_mobility_disabled __read_mostly; @@ -6963,6 +6962,11 @@ static bool try_to_accept_memory_one(str return true; } +static inline bool has_unaccepted_memory(void) +{ + return static_branch_unlikely(&zones_with_unaccepted_pages); +} + static bool cond_accept_memory(struct zone *zone, unsigned int order) { long to_accept; @@ -6990,11 +6994,6 @@ static bool cond_accept_memory(struct zo return ret; } -static inline bool has_unaccepted_memory(void) -{ - return static_branch_unlikely(&zones_with_unaccepted_pages); -} - static bool __free_unaccepted(struct page *page) { struct zone *zone = page_zone(page); @@ -7032,11 +7031,6 @@ static bool cond_accept_memory(struct zo { return false; } - -static inline bool has_unaccepted_memory(void) -{ - return false; -} static bool __free_unaccepted(struct page *page) {
Thu, Sep 05, 2024 at 02:22:20PM -0700, Andrew Morton kirjoitti: > On Thu, 5 Sep 2024 20:15:53 +0300 Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > > > When has_unaccepted_memory() is unused, it prevents kernel builds > > with clang, `make W=1` and CONFIG_WERROR=y: > > > > mm/page_alloc.c:7036:20: error: unused function 'has_unaccepted_memory' [-Werror,-Wunused-function] > > 7036 | static inline bool has_unaccepted_memory(void) > > | ^~~~~~~~~~~~~~~~~~~~~ > > > > Fix this by marking it with __maybe_unused (all cases for the sake of > > symmetry). > > > > See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static > > inline functions for W=1 build"). > > has_unaccepted_memory() has no callers if CONFIG_UNACCEPTED_MEMORY=n. > Can't we do this better thing? Sure! Please, use your patch, I'm fine with that Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index c565de8f48e9..3b47f1b17ae5 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -6990,7 +6990,7 @@ static bool cond_accept_memory(struct zone *zone, unsigned int order) return ret; } -static inline bool has_unaccepted_memory(void) +static inline __maybe_unused bool has_unaccepted_memory(void) { return static_branch_unlikely(&zones_with_unaccepted_pages); } @@ -7033,7 +7033,7 @@ static bool cond_accept_memory(struct zone *zone, unsigned int order) return false; } -static inline bool has_unaccepted_memory(void) +static inline __maybe_unused bool has_unaccepted_memory(void) { return false; }
When has_unaccepted_memory() is unused, it prevents kernel builds with clang, `make W=1` and CONFIG_WERROR=y: mm/page_alloc.c:7036:20: error: unused function 'has_unaccepted_memory' [-Werror,-Wunused-function] 7036 | static inline bool has_unaccepted_memory(void) | ^~~~~~~~~~~~~~~~~~~~~ Fix this by marking it with __maybe_unused (all cases for the sake of symmetry). See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static inline functions for W=1 build"). Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- mm/page_alloc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)