Re: [RFC] [PATCH] kmem_alloc (generic wrapper for kmalloc and vmalloc)

From: Geert Uytterhoeven
Date: Wed Nov 10 2004 - 08:38:36 EST


On Wed, 10 Nov 2004, Carl-Daniel Hailfinger wrote:
> Robert Love schrieb:
> > On Wed, 2004-11-10 at 06:19 +0100, Carl-Daniel Hailfinger wrote:
> >>it seems there is a bunch of drivers which want to allocate memory as
> >>efficiently as possible in a wide range of allocation sizes. XFS and
> >>NTFS seem to be examples. Implement a generic wrapper to reduce code
> >>duplication.
> >>Functions have the my_ prefixes to avoid name clash with XFS.
> >
> >
> > No, no, no. A good patch would be fixing places where you see this.
> >
> > Code needs to conscientiously decide to use vmalloc over kmalloc. The
> > behavior is different and the choice needs to be explicit.
>
> Yes, but what do you suggest for the following problem:
> alloc(max_loop*sizeof(struct loop_device))
>
> where sizeof(struct loop_device)==304 and 1<=max_loop<=16384
>
> For the smallest allocation (304 bytes) vmalloc is clearly wasteful
> and for the largest allocation (~ 5 MBytes) kmalloc doesn't work.

Try vmalloc() if kmalloc() fails?

BTW, is there a simple and portable way to distinguish between memory allocated
using kmalloc() and vmalloc(), or should the called remember the allocation
method?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/