[ofw] RE: When one can release CA interface

Leonid Keller leonid at mellanox.co.il
Wed Sep 2 07:55:45 PDT 2009


Yes, Power Manager's ones.
It's a problem that I'm working on now.
Low-level driver resets HCA upon standby/hibernate.
IBAL doesn't know about it and proceeds its work, which causes crash.

> -----Original Message-----
> From: Sean Hefty [mailto:sean.hefty at intel.com] 
> Sent: Wednesday, September 02, 2009 5:51 PM
> To: Leonid Keller; Smith, Stan; Tzachi Dar
> Cc: ofw_list
> Subject: RE: When one can release CA interface
> 
> Is IBAL passing some IRP down without doing the proper cleanup first?
> 
> >-----Original Message-----
> >From: ofw-bounces at lists.openfabrics.org [mailto:ofw- 
> >bounces at lists.openfabrics.org] On Behalf Of Leonid Keller
> >Sent: Wednesday, September 02, 2009 2:01 AM
> >To: Smith, Stan; Tzachi Dar
> >Cc: ofw_list
> >Subject: [ofw] RE: When one can release CA interface
> >
> > see inline
> >
> >> -----Original Message-----
> >> From: Smith, Stan [mailto:stan.smith at intel.com]
> >> Sent: Tuesday, September 01, 2009 9:06 PM
> >> To: Leonid Keller; Tzachi Dar
> >> Cc: ofw_list
> >> Subject: RE: When one can release CA interface
> >>
> >> Leonid Keller wrote:
> >> > I don't quite understand that.
> >> > If CA has been deregistered, i.e. ib_deregister_ca() has
> >> been called,
> >> > there is more CI_CA object.
> >> > All resources (PDs, CQs, QPs) are released.
> >> > How can IBAL send to CA MADs ?
> >>
> >> The CI_CA object still exists due to the reference still 
> held on the 
> >> HCA.
> >Did you see that for real ?
> >
> >Technically, CI_CA is created as a synchronic object (see in
> >create_ci_ca)
> >
> >	init_al_obj( &p_ci_ca->obj, p_ci_ca, FALSE,
> >		destroying_ci_ca, cleanup_ci_ca, free_ci_ca );
> >
> >and when ib_deregister_ca() exits, CI_CA should be fully destroyed.
> >
> >>From the design point of view, deregister_ca is a function 
> of IBAL low
> >interface.
> >It is to be called by HCA low-level driver upon card ejecting.
> >In other words, there is no HCA card after returning from 
> this function 
> >!
> >
> >Am I missing something ?
> >
> >
> >>
> >> >
> >> >
> >> >> -----Original Message-----
> >> >> From: Smith, Stan [mailto:stan.smith at intel.com]
> >> >> Sent: Tuesday, September 01, 2009 7:29 PM
> >> >> To: Leonid Keller; Tzachi Dar
> >> >> Cc: ofw_list
> >> >> Subject: RE: When one can release CA interface
> >> >>
> >> >> Leonid Keller wrote:
> >> >>> fdo_release_resources() in bus_pnp.c releases the last 
> interface 
> >> >>> with low-level driver only after IBAL cleanup with the 
> following
> >> >>> explanation:
> >> >>>
> >> >>> /* AL needs the HCA to stick around until AL cleanup has
> >> completed.
> >> >>> ... */
> >> >>>
> >> >>> My question is - why ?
> >> >>> How may/can IBAL proceed to work with HCA after CA has been 
> >> >>> deregistered ? What kind of works could be still pending ?
> >> >>
> >> >>
> >> >> IBAL MAD processing threads may be in process of 
> forwarding a MAD 
> >> >> and/or MAD processing with the outcome of eventually 
> accessing the 
> >> >> HCA device. If the HCA is remove before AL shutdown.....boom!
> >>
> >>
> >_______________________________________________
> >ofw mailing list
> >ofw at lists.openfabrics.org
> >http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
> 
> 



More information about the ofw mailing list