From: "Nachum, Yonatan" <ynachum@amazon.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: <jgg@nvidia.com>, <linux-rdma@vger.kernel.org>,
<sleybo@amazon.com>, <mrgolin@amazon.com>,
Firas Jahjah <firasj@amazon.com>
Subject: Re: [PATCH] RDMA/efa: Add rdma write capability to device caps
Date: Thu, 13 Apr 2023 16:43:24 +0300 [thread overview]
Message-ID: <960d7702-29e4-a6cd-df5b-85c5e1e74ec0@amazon.com> (raw)
In-Reply-To: <20230413082205.GB17993@unreal>
>>>>>>>>
>>>>>>>> access_flags &= ~IB_ACCESS_OPTIONAL;
>>>>>>>> if (access_flags & ~supp_access_flags) {
>>>>>>>> diff --git a/include/uapi/rdma/efa-abi.h b/include/uapi/rdma/efa-abi.h
>>>>>>>> index 74406b4817ce..d94c32f28804 100644
>>>>>>>> --- a/include/uapi/rdma/efa-abi.h
>>>>>>>> +++ b/include/uapi/rdma/efa-abi.h
>>>>>>>> @@ -121,6 +121,7 @@ enum {
>>>>>>>> EFA_QUERY_DEVICE_CAPS_CQ_NOTIFICATIONS = 1 << 2,
>>>>>>>> EFA_QUERY_DEVICE_CAPS_CQ_WITH_SGID = 1 << 3,
>>>>>>>> EFA_QUERY_DEVICE_CAPS_DATA_POLLING_128 = 1 << 4,
>>>>>>>> + EFA_QUERY_DEVICE_CAPS_RDMA_WRITE = 1 << 5,
>>>>>>>
>>>>>>> Why do you need special device capability while all rdma-core users
>>>>>>> set IBV_ACCESS_REMOTE_WRITE anyway without relying on anything from
>>>>>>> providers?
>>>>>>>
>>>>>>> Thanks
>>>>>>
>>>>>> We need to query the device because not every device supprort the same RDMA capabilities. Upper layers in the SW stack needs this supported flags to indicate which flows they can use. In addition this is identical to the existing RDMA read support in our code.
>>>>>
>>>>> Nice, but it doesn't answer my question. Please pay attention to the
>>>>> second part of my question "while all rdma-core ....".
>>>>>
>>>>> Thanks
>>>>>
>>>>
>>>> There are rdma-core users that doesn’t fail on unsupported features but fallback to supported ones. One example is Libfabric EFA provider that emulates RDMA write by read if device write isn’t supported but there are other similar examples. Correct way doing this in user code is by querying rdma-core for device supported capabilities, then selecting a suitable work flow. This is why existing and the additional capability bits are required.
>>>
>>> AFAIK, RDMA write is different here as fallback is performed in the kernel and
>>> not in the rdma-core provider. So why should EFA be different here?
>>>
>>> BTW, Please fix your mailer to break lines, so we will be able to reply
>>> on specific sentence with less effort.
>>>
>>> Thanks
>>
>> Can you please elaborate more on the fallback performed in the kernel?
>> What kind of fallback being performed? Is it in create MR/QP?
>> Does the fallback happens when providing unsupported write capability
>> and to what it fallback to?
>
> OK, looked again, "Fallback" was in my imagination, sorry about that.
>
> But my main question is continued to be, how other vendors which support
> RDMA write work without capability?
>
> Thanks
Vendors that always support RDMA write don’t need a query for this capability.
Some EFA devices don’t support write capability so we provide the ability to
query the device to know if write is supported.
It is like mlx5 support query capabilities through direct verb.
Thanks
next prev parent reply other threads:[~2023-04-13 13:45 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-04 15:43 [PATCH] RDMA/efa: Add rdma write capability to device caps ynachum
2023-04-09 7:32 ` Leon Romanovsky
2023-04-09 11:28 ` Nachum, Yonatan
2023-04-09 17:21 ` Leon Romanovsky
2023-04-10 12:24 ` Nachum, Yonatan
2023-04-10 12:38 ` Leon Romanovsky
2023-04-10 14:14 ` Nachum, Yonatan
2023-04-13 8:22 ` Leon Romanovsky
2023-04-13 13:43 ` Nachum, Yonatan [this message]
2023-04-18 14:03 ` Nachum, Yonatan
2023-04-21 22:20 ` Jason Gunthorpe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=960d7702-29e4-a6cd-df5b-85c5e1e74ec0@amazon.com \
--to=ynachum@amazon.com \
--cc=firasj@amazon.com \
--cc=jgg@nvidia.com \
--cc=leon@kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=mrgolin@amazon.com \
--cc=sleybo@amazon.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox