diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-12-04 03:58:56 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-12-04 03:58:56 +0000 |
commit | 1d67e90f19a7acfd9a05dc59678e7d0c5090bd0d (patch) | |
tree | 357efc7b93f8f5102110d20d293f41360ec212fc /mm/vmscan.c | |
parent | aea27b2e18d69af87e673972246e66657b4fa274 (diff) |
Merge with Linux 2.3.21.
Diffstat (limited to 'mm/vmscan.c')
-rw-r--r-- | mm/vmscan.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c index 8ee000fc0..1ce37062b 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -424,6 +424,14 @@ static int do_try_to_free_pages(unsigned int gfp_mask) goto done; } + /* don't be too light against the d/i cache since + shrink_mmap() almost never fail when there's + really plenty of memory free. */ + count -= shrink_dcache_memory(priority, gfp_mask); + count -= shrink_icache_memory(priority, gfp_mask); + if (count <= 0) + goto done; + /* Try to get rid of some shared memory pages.. */ if (gfp_mask & __GFP_IO) { while (shm_swap(priority, gfp_mask)) { @@ -437,8 +445,6 @@ static int do_try_to_free_pages(unsigned int gfp_mask) if (!--count) goto done; } - - shrink_dcache_memory(priority, gfp_mask); } while (--priority >= 0); done: |