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

From: HÃkon Bugge
Date: Mon Apr 30 2018 - 07:51:30 EST

> On 27 Apr 2018, at 21:08, Doug Ledford <dledford@xxxxxxxxxx> wrote:
> 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 - 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.

The wording is OK per se, but the last sentence spans 12 lines - and as such - a little bit hard to comprehend. I suggest just to refer to IB Spec 1.3, clause C13-18.1.1 and not quote it and make the last sub-sentence (starting with âand as we might want to openâ) a sentence by its own.

Thxs, HÃkon

> 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