![]() | |||||||||||||
Messages in this thread |
On Fri, Sep 23, 2005 at 06:11:30PM +1000, Rusty Russell wrote: > On Fri, 2005-09-23 at 00:17 -0700, David S. Miller wrote: > > I'm still against expanding these networking datastructures with > > bigrefs just for this stuff. Some people have per-cpu and per-node on > > the brain, and it's starting to bloat things up a little bit too much. > > I think for net devices it actually makes sense; most of the time we are > not trying to remove them, so the refcounting is simply overhead. We > also don't alloc and free them very often. The size issue is not really > an issue since we only map for each CPU, and even better: if a bigref > allocation can't get per-cpu data it just degrades beautifully into a > test and an atomic. I agree, given that it is for a much smaller number of refcounted objects. > > Now, that said, I wanted (and wrote, way back when) a far simpler > allocator which only worked for GFP_KERNEL and used the same > __per_cpu_offset[] to fixup dynamic per-cpu ptrs as static ones. Maybe > not as "complete" as this one, but maybe less offensive. The GFP_ATOMIC support stuff is needed only for dst entries. However using per-cpu refcounters in such objects like dentries and dst entries are problematic and that is why I hadn't tried changing those. Some of the earlier versions of the allocator were simpler and I think we need to roll this back and do some more analysis. No GFP_ATOMIC support, no early use. I haven't got around to look at this for a while, but I will try. Thanks Dipankar - 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-09-23 11:44 [from the cache] ©2003-2008 | |||||||||||||