Messages in this thread |  | | | Subject | Re: [RFC 0/3] Recursive reclaim (on __PF_MEMALLOC) | | From | Peter Zijlstra <> | | Date | Tue, 14 Aug 2007 16:36:43 +0200 |
| |
On Tue, 2007-08-14 at 07:21 -0700, Christoph Lameter wrote: > The following patchset implements recursive reclaim. Recursive reclaim > is necessary if we run out of memory in the writeout patch from reclaim. > > This is f.e. important for stacked filesystems or anything that does > complicated processing in the writeout path. > > Recursive reclaim works because it limits itself to only reclaim pages > that do not require writeout. It will only remove clean pages from the LRU. > The dirty throttling of the VM during regular reclaim insures that the amount > of dirty pages is limited.
No it doesn't. All memory can be tied up by anonymous pages - who are dirty by definition and are not clamped by the dirty limit.
> If recursive reclaim causes too many clean pages > to be removed then regular reclaim will throttle all processes until the > dirty ratio is restored. This means that the amount of memory that can > be reclaimed via recursive reclaim is limited to clean memory. The default > ratio is 10%. This means that recursive reclaim can reclaim 90% of memory > before failing. Reclaiming excessive amounts of clean pages may have a > significant performance impact because this means that executable pages > will be removed. However, it ensures that we will no longer fail in the > writeout path. > > A patch is included to test this functionality. The test involved allocating > 12 Megabytes from the reclaim paths when __PF_MEMALLOC is set. This is enough > to exhaust the reserves. >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |