On Wed, 12 Oct 2011, Rik van Riel wrote: > > > The problem is that we may be dealing with bursts, not steady > > > states of allocations. Without knowing the size of a burst, > > > we have no idea when we should wake up kswapd to get enough > > > memory freed ahead of the application's allocations. > > Raising the priority of kswapd to be the highest possible when triggered by rt-tasks should help to reclaim memory faster. If that doesn't work fully with Con's patch on Satoru's testcase then we'll want to extend it to raise the priority for a running kswapd when a higher priority thread calls into the page allocator slowpath. If that also doesn't mitigate the problem entirely, then we'll need to suggest raising min_free_kbytes so these threads have a larger pool of exclusive access to memory when the burst first happens. > > That problem remains with this patch - it just takes a larger burst. > > > > Unless the admin somehow manages to configure the tunable large enough > > to cover the largest burst, and there aren't other applications > > allocating memory during that burst, and the time between bursts is > > sufficient for kswapd to be able to sufficiently replenish free-page > > reserves. All of which sounds rather unlikely. > > It depends on the system. For a setup which is packed to > the brim with workloads, this patch is not likely to help. > On the other hand, on a system that is packed to the brim > with workloads, you are unlikely to get low latencies anyway. > > For situations where people really care about low latencies, > I imagine having dedicated hardware for a workload is not at > all unusual, and the patch works for that. > If it's dedicated hardware, then you should be able to just raise min_free_kbytes so that rt-tasks get exclusive access to a larger amount of memory. -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>