On Mon, Mar 28, 2016 at 08:03:16PM -0500, Christoph Lameter wrote: > On Mon, 28 Mar 2016, js1304@xxxxxxxxx wrote: > > > From: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> > > > > Currently, determination to free a slab is done whenever free object is > > put into the slab. This has a problem that free slabs are not freed > > even if we have free slabs and have more free_objects than free_limit > > There needs to be a better explanation here since I do not get why there > is an issue with checking after free if a slab is actually free. Okay. Consider following 3 objects free situation. free_limt = 10 nr_free = 9 free(free slab) free(free slab) free(not free slab) If we check it one by one, when nr_free > free_limit (at last free), we cannot free the slab because current slab isn't a free slab. But, if we check it lastly, we can free 1 free slab. I will add more explanation on the next version. > > > when processed slab isn't a free slab. This would cause to keep > > too much memory in the slab subsystem. This patch try to fix it > > by checking number of free object after all free work is done. If there > > is free slab at that time, we can free it so we keep free slab as minimal > > as possible. > > Ok if we check after free work is done then the number of free slabs may > be higher than the limit set and then we free the additional slabs to get > down to the limit that was set? Yes. Thanks. -- 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>