![]() | |||||||||||||
Messages in this thread |
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? | ||||||||||||
| Last update: 2008-01-07 19:35 [from the cache] ©2003-2008 | |||||||||||||