mm: introduce for_each_populated_zone() macro
Impact: cleanup In almost cases, for_each_zone() is used with populated_zone(). It's because almost function doesn't need memoryless node information. Therefore, for_each_populated_zone() can help to make code simplify. This patch has no functional change. [akpm@linux-foundation.org: small cleanup] Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Mel Gorman <mel@csn.ul.ie> Reviewed-by: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
a6dc60f897
commit
ee99c71c59
@ -806,6 +806,14 @@ extern struct zone *next_zone(struct zone *zone);
|
||||
zone; \
|
||||
zone = next_zone(zone))
|
||||
|
||||
#define for_each_populated_zone(zone) \
|
||||
for (zone = (first_online_pgdat())->node_zones; \
|
||||
zone; \
|
||||
zone = next_zone(zone)) \
|
||||
if (!populated_zone(zone)) \
|
||||
; /* do nothing */ \
|
||||
else
|
||||
|
||||
static inline struct zone *zonelist_zone(struct zoneref *zoneref)
|
||||
{
|
||||
return zoneref->zone;
|
||||
|
Reference in New Issue
Block a user