[PATCH 14/14] mm/swap: Make NODE_DATA an inline function on CONFIG_FLATMEM

From: Mel Gorman
Date: Thu May 20 2021 - 04:50:52 EST


make W=1 generates the following warning in mm/workingset.c for allnoconfig

mm/workingset.c: In function ‘unpack_shadow’:
mm/workingset.c:201:15: warning: variable ‘nid’ set but not used [-Wunused-but-set-variable]
int memcgid, nid;
^~~

On FLATMEM, NODE_DATA returns a global pglist_data without dereferencing
nid. Make the helper an inline function to suppress the warning, add type
checking and to apply any side-effects in the parameter list.

Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
---
include/linux/mmzone.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 0d53eba1c383..8af2f9ff9737 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -1044,7 +1044,10 @@ extern char numa_zonelist_order[];
#ifndef CONFIG_NEED_MULTIPLE_NODES

extern struct pglist_data contig_page_data;
-#define NODE_DATA(nid) (&contig_page_data)
+static inline struct pglist_data *NODE_DATA(int nid)
+{
+ return &contig_page_data;
+}
#define NODE_MEM_MAP(nid) mem_map

#else /* CONFIG_NEED_MULTIPLE_NODES */
--
2.26.2