Commit eeee9a8c authored by KOSAKI Motohiro's avatar KOSAKI Motohiro Committed by Linus Torvalds
Browse files

mm: make get_scan_ratio() safe for memcg

Currently, get_scan_ratio() always calculate the balancing value for
global reclaim and memcg reclaim doesn't use it.  Therefore it doesn't
have scan_global_lru() condition.

However, we plan to expand get_scan_ratio() to be usable for memcg too,
latter.  Then, The dependency code of global reclaim in the
get_scan_ratio() insert into scan_global_lru() condision explictly.

This patch doesn't have any functional change.
Acked-by: default avatarRik van Riel <>
Signed-off-by: default avatarKOSAKI Motohiro <>
Cc: Balbir Singh <>
Cc: Daisuke Nishimura <>
Cc: Hugh Dickins <>
Cc: KOSAKI Motohiro <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarLinus Torvalds <>
parent c9f299d9
...@@ -1376,13 +1376,16 @@ static void get_scan_ratio(struct zone *zone, struct scan_control *sc, ...@@ -1376,13 +1376,16 @@ static void get_scan_ratio(struct zone *zone, struct scan_control *sc,
zone_nr_pages(zone, sc, LRU_INACTIVE_ANON); zone_nr_pages(zone, sc, LRU_INACTIVE_ANON);
file = zone_nr_pages(zone, sc, LRU_ACTIVE_FILE) + file = zone_nr_pages(zone, sc, LRU_ACTIVE_FILE) +
zone_nr_pages(zone, sc, LRU_INACTIVE_FILE); zone_nr_pages(zone, sc, LRU_INACTIVE_FILE);
free = zone_page_state(zone, NR_FREE_PAGES);
/* If we have very few page cache pages, force-scan anon pages. */ if (scan_global_lru(sc)) {
if (unlikely(file + free <= zone->pages_high)) { free = zone_page_state(zone, NR_FREE_PAGES);
percent[0] = 100; /* If we have very few page cache pages,
percent[1] = 0; force-scan anon pages. */
return; if (unlikely(file + free <= zone->pages_high)) {
percent[0] = 100;
percent[1] = 0;
} }
/* /*
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment