mm/vmscan: take min_slab_pages into account when try to call shrink_node
Since commit 6b4f7799c6
("mm: vmscan: invoke slab shrinkers from
shrink_zone()"), slab reclaim and lru page reclaim are done together in
the shrink_node. So we should take min_slab_pages into account when try
to call shrink_node.
Link: https://lkml.kernel.org/r/20220425112118.20924-1-linmiaohe@huawei.com
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Cc: Huang Ying <ying.huang@intel.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
448b8ec3bf
commit
d8ff6fde8e
@ -4713,7 +4713,8 @@ static int __node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask, unsigned in
|
||||
noreclaim_flag = memalloc_noreclaim_save();
|
||||
set_task_reclaim_state(p, &sc.reclaim_state);
|
||||
|
||||
if (node_pagecache_reclaimable(pgdat) > pgdat->min_unmapped_pages) {
|
||||
if (node_pagecache_reclaimable(pgdat) > pgdat->min_unmapped_pages ||
|
||||
node_page_state_pages(pgdat, NR_SLAB_RECLAIMABLE_B) > pgdat->min_slab_pages) {
|
||||
/*
|
||||
* Free memory by calling shrink node with increasing
|
||||
* priorities until we have enough memory freed.
|
||||
|
Loading…
Reference in New Issue
Block a user