Le mercredi 20 juillet 2011 à 08:56 -0500, Christoph Lameter a écrit : > On Wed, 20 Jul 2011, Mel Gorman wrote: > > > > The changelog isn't that convincing, really. This is > > > kmem_cache_create() so I'm surprised we'd ever get NULL here in > > > practice. Does this fix some problem you're seeing? If this is > > > really an issue, I'd blame the page allocator as GFP_KERNEL should > > > just work. > > > > > > > Besides, is allocating from cache_cache really a > > PAGE_ALLOC_COSTLY_ORDER allocation? On my laptop at least, it's an > > order-2 allocation which is supporting up to 512 CPUs and 512 nodes. > > Slab's kmem_cache is configured with an array of NR_CPUS which is the > maximum nr of cpus supported. Some distros support 4096 cpus in order to > accomodate SGI machines. That array then will have the size of 4096 * 8 = > 32k We currently support a dynamic schem for the possible nodes : cache_cache.buffer_size = offsetof(struct kmem_cache, nodelists) + nr_node_ids * sizeof(struct kmem_list3 *); We could have a similar trick to make the real size both depends on nr_node_ids and nr_cpu_ids. (struct kmem_cache)->array would become a pointer. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. 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>