Re: [PATCH rdma-core 00/14] Revise the DMA barrier macros in ibverbs

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

 



> On Feb 28, 2017, at 6:00 PM, Doug Ledford <dledford@xxxxxxxxxx> wrote:
> 
>> On Thu, 2017-02-16 at 12:22 -0700, Jason Gunthorpe wrote:
>> Now that the header is private to the library we can change it.
>> 
>> We have never had a clear definition for what our wmb() or wc_wmb()
>> even do,
>> and they don't match the same macros in the kernel. This causes
>> problems for
>> non x86 arches as they have no idea what to put in their versions of
>> the macros
>> and often just put the strongest thing.
>> 
>> This also causes problems for the driver authors who have no idea how
>> to use
>> these barriers properly, there are several instances of that :(
>> 
>> My approach here is to introduce a selection of macros that have
>> narrow and
>> clearly defined purposes. The selection is based on things the set of
>> drivers
>> actually do, which turns out to be fairly narrowly defined.
>> 
>> Then I went through all the drivers and adjusted them to various
>> degrees to
>> use the new macro names. In a few drivers I added more/stronger
>> barriers.
>> Overall this tries hard not to break anything by weaking existing
>> barriers.
>> 
>> A future project for someone would be to see if the CPU ASM makes
>> sense..
>> 
>> https://github.com/linux-rdma/rdma-core/pull/79
>> 
>> Jason Gunthorpe (14):
>>   mlx5: Use stdatomic for the in_use barrier
>>   Provide new names for the CPU barriers related to DMA
>>   cxgb3: Update to use new udma write barriers
>>   cxgb4: Update to use new udma write barriers
>>   hns: Update to use new udma write barriers
>>   i40iw: Get rid of unique barrier macros
>>   mlx4: Update to use new udma write barriers
>>   mlx5: Update to use new udma write barriers
>>   nes: Update to use new udma write barriers
>>   mthca: Update to use new mmio write barriers
>>   ocrdma: Update to use new udma write barriers
>>   qedr: Update to use new udma write barriers
>>   vmw_pvrdma: Update to use new udma write barriers
>>   Remove the old barrier macros
>> 
>>  providers/cxgb3/cq.c             |   2 +
>>  providers/cxgb3/cxio_wr.h        |   2 +-
>>  providers/cxgb4/qp.c             |  20 +++-
>>  providers/cxgb4/t4.h             |  48 ++++++--
>>  providers/cxgb4/verbs.c          |   2 +
>>  providers/hns/hns_roce_u_hw_v1.c |  13 +-
>>  providers/i40iw/i40iw_osdep.h    |  14 ---
>>  providers/i40iw/i40iw_uk.c       |  26 ++--
>>  providers/mlx4/cq.c              |   6 +-
>>  providers/mlx4/qp.c              |  19 +--
>>  providers/mlx4/srq.c             |   2 +-
>>  providers/mlx5/cq.c              |   8 +-
>>  providers/mlx5/mlx5.h            |   7 +-
>>  providers/mlx5/qp.c              |  18 +--
>>  providers/mlx5/srq.c             |   2 +-
>>  providers/mthca/cq.c             |  10 +-
>>  providers/mthca/doorbell.h       |   2 +-
>>  providers/mthca/qp.c             |  20 ++--
>>  providers/mthca/srq.c            |   6 +-
>>  providers/nes/nes_uverbs.c       |  16 +--
>>  providers/ocrdma/ocrdma_verbs.c  |  16 ++-
>>  providers/qedr/qelr_verbs.c      |  32 +++--
>>  providers/vmw_pvrdma/cq.c        |   6 +-
>>  providers/vmw_pvrdma/qp.c        |   8 +-
>>  util/udma_barrier.h              | 250 +++++++++++++++++++++++++++
>> ------------
>>  25 files changed, 354 insertions(+), 201 deletions(-)
> 
> Thanks, series merged.
Hi Doug,

This is a very sensitive series that we haven't Acked yet.
It might have performance and functional/correctness implications.
Also, as you can see we still have open discussions with Jason.

We would really appreciate a heads up before merging topics that have on going discussions and give us a chance to Ack.

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




[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