![]() | |||||||||||||
Messages in this thread |
Andrea Arcangeli wrote: > On Wed, Dec 14, 2005 at 11:08:41AM +0100, Pavel Machek wrote: > >>because reserved memory pool would have to be "sum of all network >>interface bandwidths * ammount of time expected to survive without >>network" which is way too much. > > > Yes, a global pool isn't really useful. A per-subsystem pool would be > more reasonable... Which is an idea that I toyed with, as well. The problem that I ran into is how to tag an allocation as belonging to a specific subsystem. For example, in our code we need networking to use the critical pool. How do we let __alloc_pages() know what allocations belong to networking? Networking needs named slab allocations, kmalloc allocations, and whole page allocations to function. Should each subsystem get it's own GFP flag (GFP_NETWORKING, GFP_SCSI, GFP_SOUND, GFP_TERMINAL, ad nauseum)? Should we create these pools dynamically and pass a reference to which pool each specific allocation uses (thus adding a parameter to all memory allocation functions in the kernel)? I realize that per-subsystem pools would be better, but I thought about this for a while and couldn't come up with a reasonable way to do it. >>gigabytes into your machine. But don't go introducing infrastructure >>that _can't_ be used right. > > > Agreed, the current design of the patch can't be used right. Well, it can for our use, but I recognize that isn't going to be a huge selling point! :) As I mentioned in my reply to Pavel, I'd really like to find a way to design something that WOULD be generally useful. Thanks! -Matt - 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/ | ||||||||||||
| Last update: 2005-12-14 17:06 [from the cache] ©2003-2008 | |||||||||||||