On Wed, 16 Jan 2013, Joonsoo Kim wrote: > In acquire_slab() with mode = 1, we always set new.inuse = page->objects. Yes with that we signal that we have extracted the objects from the slab. > So > > acquire_slab(s, n, page, object == NULL); > > if (!object) { > c->page = page; > stat(s, ALLOC_FROM_PARTIAL); > object = t; > available = page->objects - page->inuse; > > !!!!!! available is always 0 !!!!!! Correct. We should really count the objects that we extracted in acquire_slab(). Please update the description to the patch and repost. Also it would be nice if we had some way to avoid passing a pointer to an integer to acquire_slab. If we cannot avoid that then ok but it would be nicer without that. -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>