Re: [PATCH] IB/core: Make ib_mad_client_id atomic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2018-04-26 at 20:51 +0200, Håkon Bugge wrote:
> > Jason is out this week.  I'll end up processing this one (probably later
> > today).  But I’ll fix up the commit message to suit my tastes when I do.
> 
> Thank you, Doug and Jack,

I reworded the commit message, let me know if you think I worded it
wrong:

commit 69f01b81539c62f3dd96f9f02138ad7b839a0c70 (HEAD -> k.o/wip/dl-for-rc)
Author: Håkon Bugge <haakon.bugge@xxxxxxxxxx>
Date:   Wed Apr 18 16:24:50 2018 +0200

    IB/core: Make ib_mad_client_id atomic
    
    Currently, kernel protects access to the agent ID allocator on a per
    port basis using a spinlock, so it is impossible for two apps/threads on
    the same port to get the same TID, but it is entirely possible for two
    threads on different ports to end up with the same TID.  As this can be
    confusing (regardless of it being legal according to the IB Spec 1.3,
    C13-18.1.1, in section 13.4.6.4 - TransactionID usage: "Then initiating
    a new operation, MADHeader:TransactionID shall be set to such a value
    that within that MAD the combination of TIG, SGID, and MgmtClass is
    different from that of any other currently executing operation. If the
    MAD does not have a GRH, its SLID is used in the combination in place of
    an SGID." which guarantees we are legal because our different ports will
    have different SGID/SLID creating a unique tuple even if the TIDs are
    identical), and as we might want to open the TID allocator up to more
    parallel usage later, make the TID an atomic type so that no two
    allocations, regardless of port number, will be the same.
    
    Signed-off-by: Håkon Bugge <haakon.bugge@xxxxxxxxxx>
    Reviewed-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
    Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>
    Reviewed-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxxx>
    Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>

-- 
Doug Ledford <dledford@xxxxxxxxxx>
    GPG KeyID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux