Re: Questions about masked atomic

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

 



On 2020/5/18 2:58, Tom Talpey wrote:
> On 5/17/2020 9:14 AM, Leon Romanovsky wrote:
>> On Fri, May 15, 2020 at 09:40:26AM +0000, liweihang wrote:
>>> On 2020/5/12 19:35, Leon Romanovsky wrote:
>>>> On Mon, May 11, 2020 at 01:54:48PM +0000, liweihang wrote:
>>>>> Hi All,
>>>>>
>>>>> I have two questions about masked atomic (Masked Compare and Swap & MFetchAdd):
>>>>>
>>>>> 1. The kernel now supports masked atomic, but the it does not support atomic
>>>>>     operation. Is the masked atomic valid in kernel currently?
>>>>
>>>> Yes, it is valid, but probably has a very little real value for the kernel ULPs.
>>>> I see code in the RDS that uses atomics, but it says nothing to me, because
>>>> upstream RDS and version in-real-use are completely different.
>>>>
>>>>> 2. In the userspace, ofed does not have the corresponding opcode for the masked
>>>>>     atomic (IB_WR_MASKED_ATOMIC_CMP_AND_SWP, IB_WR_MASKED_ATOMIC_FETCH_AND_ADD),
>>>>>     and ibv_send_wr also has no related data segment for it. How to support it in
>>>>>     userspace?
>>>>
>>>> ibv_send_wr is not extensible, so the real solution will need to extend ibv_wr_post() [1]
>>>> with specific and new post builders.
>>>>
>>>> Thanks
>>>>
>>>> [1] https://github.com/linux-rdma/rdma-core/blob/master/libibverbs/man/ibv_wr_post.3.md
>>>>
>>>
>>> Hi Leon,
>>>
>>> Thanks for your response. May I ask another question:
>>>
>>> Why it's not encouraged to use atomic/extended atomic/masked atomic operations in kernel?
>>> Jason said that there seems no kernel users of extended atomic, is there any other reasons?
>>
>> I don't think that "it is not encouraged", the more accurate will be
>> "the IBTA atomics will give nothing to the kernel ULPs".
>>
>> The atomic data is not necessary stored in the host memory, while ULPs
>> need it in the memory. It means that they anyway will need to do some
>> synchronization in the host and "cancel" any advantage of atomics if
>> they exist.
> 
> Indeed, it is a common misconception by upper layer implementers that
> the atomicity is available to the responder CPU. In fact, atomics work
> only from the HCA that executes them, and the result is flushed to
> memory, non-atomically, at some later time. These limitations greatly
> reduce the motivation to use them at all, much less the exotic masked
> ones.
> 
> I believe another reason they're not surfaced for kernel consumers is
> that there aren't any. Primarily, the kernel consumers are storage, and
> storage protocols stay far away from atomics.
> 
> Tom.
> 

Hi Tom and Leon,

Thank you for the explanation, it helps me lot.

Weihang



[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