On Tuesday 18 September 2007 03:04, Rik van Riel wrote:Nick Piggin wrote:(Rik has a patch sitting in -mm I believe which would make this problemMy patch should not make any difference here, since
even worse, by doing even less highmem scanning in response to lowmem
allocations).
balance_pgdat() already scans the zones from high to
low and sets an end_zone variable that determines the
highest zone to scan.
All my patch does is make sure that we do not try to
reclaim excessive amounts of dma or low memory when
a higher zone is full.
Sorry, yeah I had it the wrong way around. Your patch would not
increase the probability of this problem.
We could have some logic in there to scan highmem when buffer
heads are over limit. But that really kind of sucks in that it introduces
some arbitrary point where reclaim behaviour completely changes...
Adding a shrinker for buffer heads is the "logical" approach