On Thu, Aug 09, 2012 at 04:29:57PM -0400, Rik van Riel wrote: > On 08/09/2012 05:20 AM, Mel Gorman wrote: > > >The intention is that an allocation can fail but each subsequent attempt will > >try harder until there is success. Each allocation request does a portion > >of the necessary work to spread the cost between multiple requests. > > At some point we need to stop doing that work, though. > > Otherwise we could end up back at the problem where > way too much memory gets evicted, and we get swap > storms. That's the case without this patch as it'll still be running reclaim/compaction just less aggressively. For it to continually try like the system must be either continually under load preventing compaction ever working (which may be undesirable for order-3 and the like) or so badly fragmented it cannot recover (not aware of a situation where this happened). You could add a separate patch that checked if defer_shift == COMPACT_MAX_DEFER_SHIFT and to disable reclaim/compaction in that case but that will require enough SWAP_CLUSTER_MAX pages to be reclaimed over time or a large process to exit before compaction succeeds again. I would expect rates under load to be very low with such a patch applied. -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>