Re: 2.6.8.1-mm2

From: Andrew Morton
Date: Fri Aug 20 2004 - 02:24:44 EST


Hans Reiser <reiser@xxxxxxxxxxx> wrote:
>
> John Cherry wrote:
>
> >The new "errors" are from reiser4 code and they all appear to be...
> >
> >fs/reiser4/reiser4.h:18:2: #error "Please turn 4k stack off"
> >
> >
> >
> zam, can you or Mr. Demidov work on using kmalloc to reduce stack usage?
>
> Andrew suggested that for statically sized objects kmalloc is quite fast
> (one instruction I think he said), so my objection to kmallocing a lot
> has faded.

err, not that quick - but it's pretty quick.

With a kmalloc with a constant size and, preferably, a constant gfp mask
we'll jump directly into __cache_alloc() and in the common case we'll pluck
an entry directly out of the cpu-local head array:

So the kmalloc fastpath is, effectively:

local_irq_save(save_flags);
ac = ac_data(cachep);
if (likely(ac->avail)) {
ac->touched = 1;
objp = ac_entry(ac)[--ac->avail];
}
local_irq_restore(save_flags);
return objp;


Not bad...
-
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/