On Mon, 7 Jan 2008, Andrew Morton wrote:

> > : undefined reference to `__you_cannot_kmalloc_that_much'

There is also a kernel.org bugzilla for this at

http://bugzilla.kernel.org/show_bug.cgi?id=9669
For some reason my adds to this do not show up.

In both cases we have a 

k(z/m)alloc(sizeof(*pointer), ...)

that is for some reason failing. I guess what happens is that the function 
in which this occurs is too complex for gcc 3.2. Thus it stops constant 
folding the sizeof(*pointer) in the complex inline-if-cascade that SLAB 
needs to determine the cache and does not eliminate the 
__you_cannot_kmalloc_that_much branch().

SLUB in that case just puts a series of if comparisions in the code. This 
means compilation does not fail but a large amount of code is generated.

We could replace the __you_cannot_kmalloc_that_much() with a BUG() 
statement so we have the same effect in SLAB?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to