On Mon, 30 Apr 2018 13:10:49 -0400 Doug Ledford <dledford@xxxxxxxxxx> wrote: Looks good! -Jack > On Mon, 2018-04-30 at 08:49 -0600, Jason Gunthorpe wrote: > > On Mon, Apr 23, 2018 at 10:16:18PM +0300, jackm wrote: > > > > > > > TIDs need to be globally unique on the entire machine. > > > Jason, that is not exactly correct. > > > > The expecation for /dev/umad users is that they all receive locally > > unique TID prefixes. The kernel may be OK to keep things > > port-specific but it is slightly breaking the API we are presenting > > to userspace to allow them to alias.. > > > > Jason > > Would people be happier with this commit message then: > > IB/core: Make ib_mad_client_id atomic > > Currently, the 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), and as the rdma-core user space API for /dev/umad devices > implies unique TIDs even across ports, 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> > > -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html