[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