[ofw] RE: When one can release CA interface

Sean Hefty sean.hefty at intel.com
Wed Sep 2 07:50:50 PDT 2009


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