Allow to iterate all zones belonging to a nid.

Cc: Andrew Morton <a...@linux-foundation.org>
Cc: Vlastimil Babka <vba...@suse.cz>
Cc: Dan Williams <dan.j.willi...@intel.com>
Cc: Mel Gorman <mgor...@techsingularity.net>
Cc: Michal Hocko <mho...@suse.com>
Cc: Wei Yang <richard.weiy...@gmail.com>
Cc: Johannes Weiner <han...@cmpxchg.org>
Cc: Arun KS <aru...@codeaurora.org>
Signed-off-by: David Hildenbrand <da...@redhat.com>
---
 include/linux/mmzone.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 8b5f758942a2..71f2b9b55069 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -1004,6 +1004,11 @@ extern struct zone *next_zone(struct zone *zone);
                        ; /* do nothing */              \
                else
 
+#define for_each_zone_nid(zone, nid)                   \
+       for (zone = (NODE_DATA(nid))->node_zones;       \
+            zone && zone_to_nid(zone) == nid;          \
+            zone = next_zone(zone))
+
 static inline struct zone *zonelist_zone(struct zoneref *zoneref)
 {
        return zoneref->zone;
-- 
2.21.0

Reply via email to