mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-10-31 18:09:19 +00:00
mm: vmscan: check if kswapd should writepage once per pgdat scan
Currently kswapd checks if it should start writepage as it shrinks each zone without taking into consideration if the zone is balanced or not. This is not wrong as such but it does not make much sense either. This patch checks once per pgdat scan if kswapd should be writing pages. Signed-off-by: Mel Gorman <mgorman@suse.de> Reviewed-by: Michal Hocko <mhocko@suse.cz> Acked-by: Rik van Riel <riel@redhat.com> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Jiri Slaby <jslaby@suse.cz> Cc: Valdis Kletnieks <Valdis.Kletnieks@vt.edu> Tested-by: Zlatko Calusic <zcalusic@bitsync.net> Cc: dormando <dormando@rydia.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Git-commit: b7ea3c417b6c2e74ca1cb051568f60377908928d Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [vinmenon@codeaurora.org: resolve trivial merge conflicts] Change-Id: I7cb0fb685f8346f07d0fc4810f6c593334cd1590 Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
This commit is contained in:
parent
488cb10a86
commit
bc6bd99ed4
1 changed files with 7 additions and 7 deletions
14
mm/vmscan.c
14
mm/vmscan.c
|
@ -2965,6 +2965,13 @@ static unsigned long balance_pgdat(pg_data_t *pgdat, int order,
|
|||
pgdat_needs_compaction = false;
|
||||
}
|
||||
|
||||
/*
|
||||
* If we're getting trouble reclaiming, start doing writepage
|
||||
* even in laptop mode.
|
||||
*/
|
||||
if (sc.priority < DEF_PRIORITY - 2)
|
||||
sc.may_writepage = 1;
|
||||
|
||||
/*
|
||||
* Now scan the zone in the dma->highmem direction, stopping
|
||||
* at the last zone which needs scanning.
|
||||
|
@ -3036,13 +3043,6 @@ static unsigned long balance_pgdat(pg_data_t *pgdat, int order,
|
|||
raise_priority = false;
|
||||
}
|
||||
|
||||
/*
|
||||
* If we're getting trouble reclaiming, start doing
|
||||
* writepage even in laptop mode.
|
||||
*/
|
||||
if (sc.priority < DEF_PRIORITY - 2)
|
||||
sc.may_writepage = 1;
|
||||
|
||||
if (!zone_reclaimable(zone)) {
|
||||
if (end_zone && end_zone == i)
|
||||
end_zone--;
|
||||
|
|
Loading…
Reference in a new issue