Let's say I set my PAGE_SIZE to be a massive 1MB.  This is a huge page
size, so it seems to make sense to have the min order for SLUB be 0.

While booting, the kernel sets up the kmalloc caches for, say, the 8
byte size type.

When it hits slab_order:

http://lxr.linux.no/linux+v2.6.34.1/mm/slub.c#L1958

It finds that the minimum page order can hold more than
MAX_OBJS_PER_PAGE, so it then requests the order of the page that
holds the max objects.

In our case, it turns out to be 0 still, so it subtracts 1 from that,
returns a -1, and the allocation fails and the kernel panics.

Should this really be an error, or should it just return 0 in this
case?  Is there some other option or tuning that I'm overlooking to
make this ridiculous page size work?


Thanks!

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to