OSDN Git Service

mm/memory_hotplug: avoid calling zone_intersects() for ZONE_NORMAL
authorMiaohe Lin <linmiaohe@huawei.com>
Tue, 22 Mar 2022 21:47:19 +0000 (14:47 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 22 Mar 2022 22:57:10 +0000 (15:57 -0700)
If zid reaches ZONE_NORMAL, the caller will always get the NORMAL zone no
matter what zone_intersects() returns.  So we can save some possible cpu
cycles by avoid calling zone_intersects() for ZONE_NORMAL.

Link: https://lkml.kernel.org/r/20220207133643.23427-3-linmiaohe@huawei.com
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/memory_hotplug.c

index 39da381..947ba4f 100644 (file)
@@ -823,7 +823,7 @@ static struct zone *default_kernel_zone_for_pfn(int nid, unsigned long start_pfn
        struct pglist_data *pgdat = NODE_DATA(nid);
        int zid;
 
-       for (zid = 0; zid <= ZONE_NORMAL; zid++) {
+       for (zid = 0; zid < ZONE_NORMAL; zid++) {
                struct zone *zone = &pgdat->node_zones[zid];
 
                if (zone_intersects(zone, start_pfn, nr_pages))