The patch titled Subject: mm/vmscan: sc->reclaim_idx must be a valid zone index has been added to the -mm tree. Its filename is mm-vmscan-sc-reclaim_idx-must-be-a-valid-zone-index.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/mm-vmscan-sc-reclaim_idx-must-be-a-valid-zone-index.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/mm-vmscan-sc-reclaim_idx-must-be-a-valid-zone-index.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Wei Yang <richard.weiyang@xxxxxxxxx> Subject: mm/vmscan: sc->reclaim_idx must be a valid zone index lruvec_lru_size() is only used in get_scan_count(), so the only possible zone_idx is sc->reclaim_idx. Since sc->reclaim_idx is ensured to be a valid zone idex, we can remove the extra check for zone iteration. Link: https://lkml.kernel.org/r/20220317234624.23358-1-richard.weiyang@xxxxxxxxx Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/vmscan.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/mm/vmscan.c~mm-vmscan-sc-reclaim_idx-must-be-a-valid-zone-index +++ a/mm/vmscan.c @@ -587,7 +587,7 @@ unsigned long zone_reclaimable_pages(str * lruvec_lru_size - Returns the number of pages on the given LRU list. * @lruvec: lru vector * @lru: lru to use - * @zone_idx: zones to consider (use MAX_NR_ZONES for the whole LRU list) + * @zone_idx: zones to consider (use MAX_NR_ZONES - 1 for the whole LRU list) */ static unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) @@ -595,7 +595,7 @@ static unsigned long lruvec_lru_size(str unsigned long size = 0; int zid; - for (zid = 0; zid <= zone_idx && zid < MAX_NR_ZONES; zid++) { + for (zid = 0; zid <= zone_idx; zid++) { struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid]; if (!managed_zone(zone)) _ Patches currently in -mm which might be from richard.weiyang@xxxxxxxxx are mm-page_alloc-add-same-penalty-is-enough-to-get-round-robin-order.patch mm-vmscan-reclaim-only-affects-managed_zones.patch mm-vmscan-make-sure-wakeup_kswapd-with-managed-zone.patch mm-vmscan-sc-reclaim_idx-must-be-a-valid-zone-index.patch