Re: [PATCH 2/3] page allocator: Do not allow interrupts to use ALLOC_HARDER

Pavel Machek
2009-10-31T22:29:13Z

On Sat 2009-10-31 14:19:50, David Rientjes wrote:
> On Sat, 31 Oct 2009, Pavel Machek wrote:
>
> > > Um, no, it's a matter of the kernel implementation. We allow such tasks
> > > to allocate deeper into reserves to avoid the page allocator from
> > > incurring a significant penalty when direct reclaim is required.
> > > Background reclaim has already commenced at this point in the
> > > slowpath.
> >
> > But we can't guarantee that enough memory will be ready in the
> > reserves. So if realtime task relies on it, it is broken, and will
> > fail to meet its deadlines from time to time.
>
> This is truly a bizarre tangent to take, I don't quite understand the
> point you're trying to make. Memory reserves exist to prevent blocking
> when we need memory the most (oom killed task or direct reclaim) and to
> allocate from when we can't (GFP_ATOMIC) or shouldn't (rt tasks) utilize
> direct reclaim. The idea is to kick background reclaim first in the
> slowpath so we're only below the low watermark for a short period and
> allow the allocation to succeed. If direct reclaim actually can't free
> any memory, the oom killer will free it for us.
>
> So the realtime[*] tasks aren't relying on it at all, the ALLOC_HARDER
> exemption for them in the page allocator are a convenience to return
> memory faster than otherwise when the fastpath fails. I don't see much
> point in arguing against that.

Well, you are trying to make rt heuristic more precise. I believe it
would be better to simply remove it.

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html