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