Re: [PATCH] kmalloc_percpu

Rusty Russell (rusty@rustcorp.com.au)
Tue, 06 May 2003 18:06:45 +1000


In message <20030505220250.213417f6.akpm@digeo.com> you write:
> "David S. Miller" <davem@redhat.com> wrote:
> >
> > I think you should BUG() if a module calls kmalloc_percpu() outside
> > of mod->init(), this is actually implementable.
> >
> > Andrew's example with some module doing kmalloc_percpu() inside
> > of fops->open() is just rediculious.
>
> crap. Modules deal with per-device and per-mount objects. If a module
> cannot use kmalloc_per_cpu on behalf of the primary object which it manages
> then the facility is simply not useful to modules.

No, the allocator is dog-slow. If you want to use it on open, you
need a new allocator, not one that does a linear search for blocks.

> A case in point, which Rusty has twice mentioned, is the three per-mount
> fuzzy counters in the ext2 superblock. And lo, ext2 cannot use the code in
> this patch, because people want to scale to 4000 mounts.

Well, 4000 will fit on 32-bit archs, easily. Yes, it's a limit.

Rusty.

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
-
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/