On Fri, 20 May 2011, James Bottomley wrote: > On Thu, 2011-05-19 at 15:51 -0500, Christoph Lameter wrote: > > On Thu, 19 May 2011, james_p_freyensee@xxxxxxxxxxxxxxx wrote: > > > > > From: J Freyensee <james_p_freyensee@xxxxxxxxxxxxxxx> > > > > > > Currently, kmalloc_index() can return -1, which can be > > > passed right to the kmalloc_caches[] array, cause a > > > > No kmalloc_index() cannot return -1 for the use case that you are > > considering here. The value passed as a size to > > kmalloc_slab is bounded by 2 * PAGE_SIZE and kmalloc_slab will only return > > -1 for sizes > 4M. So we will have to get machines with page sizes > 2M > > before this can be triggered. > > Please don't make x86 centric assumptions like this. I was vaguely > thinking about hugepages in parisc. Like most risc machines, we have > (and have had for over a decade) a vast number of variable size pages > (actually from 4k to 64MB in power of 4 steps) and I think sparc is > similar, so I was wondering what to choose. You'd have been deeply > annoyed if I'd chosen 4MB and had slub fall over (again). > > linux-arch cc'd just so everyone else is aware of these limitations when > they implement hugepages. Well the simple solution would to put a BUG() in kmalloc_slab() instead of returning -1 (whereupon the compiler will complain that we are not returning a value). We tried the BUILD_BUG before but some compilers are not playing ball there. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>