Re: [PATCH -v2 -mm] add extra free kbytes tunable

From: David Rientjes
Date: Wed Oct 12 2011 - 16:26:28 EST


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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/