There's an obvious explanation for the high loadavg people are seeing when 
their systems go into thrash mode: when free is exhausted, every task that 
fails to get a block in __alloc_pages will become PF_MEMALLOC and start 
scanning.  The remaining tasks that are still running will soon also fail in 
__alloc_pages and jump onto the dogpile.  This is a pretty clear 
demonstration of why the current "self-help" strategy is flawed.
Those tasks that can't get memory should block, leaving one or two threads to 
sort things out under predictable conditions, then restart the blocked 
threads as appropriate.
-- Daniel - 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/