On Tue, 21 Aug 2012, Mel Gorman wrote: > On Mon, Aug 20, 2012 at 07:46:09PM +0000, Christoph Lameter wrote: > > On Mon, 20 Aug 2012, Mel Gorman wrote: > > > > > @@ -2318,9 +2323,7 @@ void mpol_free_shared_policy(struct shared_policy *p) > > > while (next) { > > > n = rb_entry(next, struct sp_node, nd); > > > next = rb_next(&n->nd); > > > - rb_erase(&n->nd, &p->root); > > > > Looks like we need to keep the above line? sp_delete does not remove the > > tree entry. > > > > > - mpol_put(n->policy); > > > - kmem_cache_free(sn_cache, n); > > > + sp_delete(p, n); > > Yes it does, could you have accidentally mixed up sp_free (which does not > remove the tree entry) and sp_delete (which does)? The altered code ends > up looking like this; Yup I got that mixed up. Reviewed-by: Christoph Lameter <cl@xxxxxxxxx> -- 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>