ANDROID: adjust vendor hook to control blk_plug

We shouldn't hold lru_lock to proceed blk_finish_plug.

Fixes: 89fed37332 ("ANDROID: vendor hook to control blk_plug for shrink_lruvec")
Bug: 255471591
Change-Id: Ie9d9b0e4ee76b4735e802b2a202fbb79d0ae090e
Signed-off-by: Martin Liu <liumartin@google.com>
This commit is contained in:
Martin Liu
2022-11-14 11:50:47 +08:00
committed by Todd Kjos
parent 6cbaa88f4a
commit bcf1e503f5

View File

@@ -2051,8 +2051,6 @@ shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec,
spin_lock_irq(&pgdat->lru_lock);
move_pages_to_lru(lruvec, &page_list);
if (do_plug)
blk_finish_plug(&plug);
__mod_node_page_state(pgdat, NR_ISOLATED_ANON + file, -nr_taken);
lru_note_cost(lruvec, file, stat.nr_pageout);
@@ -2064,6 +2062,9 @@ shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec,
spin_unlock_irq(&pgdat->lru_lock);
if (do_plug)
blk_finish_plug(&plug);
mem_cgroup_uncharge_list(&page_list);
free_unref_page_list(&page_list);