Roland,

Roland Dreier <[EMAIL PROTECTED]> wrote on 05/24/2006 03:01:01 PM:
>     Shirley> Compared to have a single thread handling AH, I don't
>     Shirley> think this atomic operation is expensive.
>
> But freeing AHs is something that happens infrequently and can be done
> asynchronously.  You're replacing that cost with two atomic operations
> per send packet!

No, actually it didn't free during sending during my test.

>     Shirley> It is true for unicast, it has a reference count before
>     Shirley> ipoib_send(). I need to look at multicast.
>
> But can you guarantee that the AH stays around until after the send
> completes (which could be an arbitrarily long delay)?
>
>  - R.


I checked negih_add_path(), for unicast it is true always. See code below.

static void neigh_add_path(..)
{
...
        if (path->ah) {
                kref_get(&path->ah->ref);
                neigh->ah = path->ah;
            ipoib_send(dev, skb, path->ah...        
}        

Please correct me if I am wrong.


Thanks
Shirley Ma
IBM Linux Technology Center
15300 SW Koll Parkway
Beaverton, OR 97006-6063
Phone(Fax): (503) 578-7638




_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to