[ofa-general] Two element types on cancel_list in cancel_mads()?

Hal Rosenstock hrosenstock at xsigo.com
Mon Dec 3 10:47:38 PST 2007


On Mon, 2007-12-03 at 10:12 -0800, Sean Hefty wrote:
> >> commit 2c153b934dca08d58e0aafde18a182e0891aa201
> >> Author: Hal Rosenstock <halr at voltaire.com>
> >> Date:   Wed Jul 27 11:45:31 2005 -0700
> >>
> >>     [PATCH] IB: Eliminate MAD cache leak associated with local completions
> >>     
> >>     Eliminate MAD cache leak associated with local completions.  Also, when
> >>     canceling MAD, empty local completion list as well.
> >>     
> >>     Signed-off-by: Hal Rosenstock <halr at voltaire.com>
> >>     Cc: Roland Dreier <rolandd at cisco.com>
> >>     Signed-off-by: Andrew Morton <akpm at osdl.org>
> >>     Signed-off-by: Linus Torvalds <torvalds at osdl.org>
> >>
> >> More later...
> > 
> > FWIW, I traced the origin of this change back to the following thread:
> > 
> > http://lists.openfabrics.org/pipermail/general/2005-May/thread.html
> > 
> > http://lists.openfabrics.org/pipermail/general/2005-May/005951.html
> > 
> > Subject:
> > 
> > slab error in kmem_cache_destroy(): cache `ib_mad': Can't free all
> > objects
> 
> Looking back at the patch above, I think that emptying the local 
> completion list in cancel_mads() is separate from fixing the cache leak 
> in local_completions().  By removing the local list handling from 
> cancel_mads(), all handling of those mads should go through 
> local_completions() instead, where the memory leak was addressed.

Yes, in looking at this again, that seems right. So the fix may just be
just that simple...

It would be nice to rerun the script that was used to originally find
the cache leak to verify that aspect.

-- Hal

> - Sean



More information about the general mailing list