[openib-general] slab error in kmem_cache_destroy(): cache `ib_mad': Can't free all objects
Hal Rosenstock
halr at voltaire.com
Mon May 2 09:29:26 PDT 2005
On Mon, 2005-05-02 at 12:07, Sean Hefty wrote:
> Hal Rosenstock wrote:
> >>What prevents an agent from deregistering while a send is outstanding?
> >>What'll free the mad_priv then?
> >
> >
> > Nothing. I think there is some missing code in ib_agent_port_close to
> > handle this scenario.
> >
> > However, unless that MAD from the SM were directed locally (and was
> > pending), that would not cause the problem where the ib_mad cache could
> > not be destroyed. I will see if I can recreate this and work up a patch
> > for this.
>
> Sending a MAD will result in taking a reference on the corresponding
> MAD agent. If unregister is called, the call will first cancel all
> outstanding sends, and then wait for the reference count to go to zero.
>
> It should be noted that until unregister returns MADs can be received
> by the user, and the MADs must be freed.
I stand corrected. This is already taken care of. I forgot about this.
-- Hal
More information about the general
mailing list