mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-09-21 12:11:49 +08:00
revert-mm-skip-cma-pages-when-they-are-not-available-update
also revertb7108d6631
("Multi-gen LRU: skip CMA pages when they are not eligible"), per Johannes Link: https://lkml.kernel.org/r/9060a32d-b2d7-48c0-8626-1db535653c54@gmail.com Link: https://lkml.kernel.org/r/357ac325-4c61-497a-92a3-bdbd230d5ec9@gmail.com Fixes:5da226dbfc
("mm: skip CMA pages when they are not available") Signed-off-by: Usama Arif <usamaarif642@gmail.com> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Bharata B Rao <bharata@amd.com> Cc: Breno Leitao <leitao@debian.org> Cc: David Hildenbrand <david@redhat.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Matthew Wilcox <willy@infradead.org> Cc: Rik van Riel <riel@surriel.com> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Yu Zhao <yuzhao@google.com> Cc: Zhaoyang Huang <huangzhaoyang@gmail.com> Cc: Zhaoyang Huang <zhaoyang.huang@unisoc.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
e9aa9e462e
commit
89eb17a499
21
mm/vmscan.c
21
mm/vmscan.c
@ -4253,25 +4253,6 @@ void lru_gen_soft_reclaim(struct mem_cgroup *memcg, int nid)
|
||||
|
||||
#endif /* CONFIG_MEMCG */
|
||||
|
||||
#ifdef CONFIG_CMA
|
||||
/*
|
||||
* It is waste of effort to scan and reclaim CMA pages if it is not available
|
||||
* for current allocation context. Kswapd can not be enrolled as it can not
|
||||
* distinguish this scenario by using sc->gfp_mask = GFP_KERNEL
|
||||
*/
|
||||
static bool skip_cma(struct folio *folio, struct scan_control *sc)
|
||||
{
|
||||
return !current_is_kswapd() &&
|
||||
gfp_migratetype(sc->gfp_mask) != MIGRATE_MOVABLE &&
|
||||
folio_migratetype(folio) == MIGRATE_CMA;
|
||||
}
|
||||
#else
|
||||
static bool skip_cma(struct folio *folio, struct scan_control *sc)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
/******************************************************************************
|
||||
* the eviction
|
||||
******************************************************************************/
|
||||
@ -4319,7 +4300,7 @@ static bool sort_folio(struct lruvec *lruvec, struct folio *folio, struct scan_c
|
||||
}
|
||||
|
||||
/* ineligible */
|
||||
if (zone > sc->reclaim_idx || skip_cma(folio, sc)) {
|
||||
if (zone > sc->reclaim_idx) {
|
||||
gen = folio_inc_gen(lruvec, folio, false);
|
||||
list_move_tail(&folio->lru, &lrugen->folios[gen][type][zone]);
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user