Re: [RFC 0/7] Postphone reclaim laundry to write at high water marks
From: Christoph Lameter <hidden>
Date: 2007-08-23 20:23:18
Also in:
lkml
On Thu, 23 Aug 2007, Andrea Arcangeli wrote:
On Tue, Aug 21, 2007 at 03:32:25PM -0700, Christoph Lameter wrote:quoted
1. Like in the earlier patchset allow reentry to reclaim under PF_MEMALLOC if we are out of all memory.Can you simply tweak on the may_writepage flag only to achieve the second pass? We're talking here about a totally non-performance case, almost impossible to hit in practice unless you do real weird things, and certainly very unlikely to happen. So I'm unsure what's all that complexity just to make a regular pass on the lru looking for clean pages, something may_writepage=0 already does.
Yes that is what the PF_MEMALLOC patch that I posted before does. This discussion gets me more and more to thinking that the recursive reclaim on PF_MEMALLOC is all that is needed for emergency situations (to get out of the "tight spot"). See http://marc.info/?l=linux-kernel&m=118710219116624&w=2
If the PF_MEMALLOC is found empty, I agree entering reclaim a second time with may_writepage=0 sounds theoretically a good idea (in practice it should never be necessary). printk must also be printed to warn the user he was risking to deadlock for real and he has to increase the min_free_kbytes.
Ok. I can add a printk to that one.
That sounds a bit risky, there are latency considerations here to make, GFP_ATOMIC will run with irq locally disabled and it may hang for indefinite amount of time (O(N)). So irq latency may break and it may be better to lose a packet once in a while than to hang interrupts. If you want to do this you'd probably need to add a new GFP_ATOMIC_RECLAIM or similar.
Well we could do the same as for PF_MEMALLOC: print a warning and then reclaim nevertheless if we cannot fail (We already have a GFP_NOFAIL flag). It is better to generate a latency than the system failing altogether. However the GFP_ATOMIC reclaim patchset is a bit more invasive (http://marc.info/?l=linux-mm&m=118710584014150&w=2). Maybe this is too much churn for the rare need of such a reclaim. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>