Marcelo Tosatti wrote: > >On Tue, 9 Oct 2001, BALBIR SINGH wrote: > >>Most of the traditional unices maintained a pool for each subsystem >>(this is really useful when u have the memory to spare), so not matter >>what they use memory only from their pool (and if needed peek outside), >>but nobody else used the memory from the pool. >> >>I have seen cases where, I have run out of physical memory on my system, >>so I try to log in using the serial console, but since the serial driver >>does get_free_page (this most likely fails) and the driver complains back. >>So, I had suggested a while back that important subsystems should maintain >>their own pool (it will take a new thread to discuss the right size of >>each pool). >> >>Why can't Linux follow the same approach? especially on systems with a lot >>of memory. >> > >There is nothing which avoids us from doing that (there is one reserved >pool I remeber right now: the highmem bounce buffering pool, but that one >is a special case due to the way Linux does IO in high memory and its only >needed on _real_ emergencies --- it will be removed in 2.5, I hope). > >In general, its a better approach to share the memory and have a unified >pool. If a given subsystem is not using its own "reversed" memory, another >subsystems can use it. > >The problem we are seeing now can be fixed even without the reserved >pools. > I agree that is the fair and nice thing to do, but I was talking about reserving memory for device vs sharing it with a user process, user processes can wait, their pages can even be swapped out if needed. But for a device that is not willing to wait (GFP_ATOMIC) say in an interrupt context, this might be a issue. Anyway, how do you plan to solve this ? Balbir > > >- >To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >the body of a message to majordomo@vger.kernel.org >More majordomo info at http://vger.kernel.org/majordomo-info.html >Please read the FAQ at http://www.tux.org/lkml/ >