[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45600750-5c50-2ee4-4f7c-e03510a799a7@fujitsu.com>
Date: Thu, 13 Jan 2022 06:43:34 +0000
From: "lizhijian@...itsu.com" <lizhijian@...itsu.com>
To: "lizhijian@...itsu.com" <lizhijian@...itsu.com>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"zyjzyj2000@...il.com" <zyjzyj2000@...il.com>,
"jgg@...pe.ca" <jgg@...pe.ca>,
"aharonl@...dia.com" <aharonl@...dia.com>,
"leon@...nel.org" <leon@...nel.org>, Tom Talpey <tom@...pey.com>,
"Gromadzki, Tomasz" <tomasz.gromadzki@...el.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"mbloch@...dia.com" <mbloch@...dia.com>,
"liangwenpeng@...wei.com" <liangwenpeng@...wei.com>,
"yangx.jy@...itsu.com" <yangx.jy@...itsu.com>,
"rpearsonhpe@...il.com" <rpearsonhpe@...il.com>,
"y-goto@...itsu.com" <y-goto@...itsu.com>
Subject: Re: [RFC PATCH rdma-next 03/10] RDMA/rxe: Allow registering FLUSH
flags for supported device only
Hey Tom, Tomas, all
I recall that the SPEC says:
> A19.4.3.1 HCA RESOURCES
> This Annex introduces the following new HCA attributes:
> • Ability to support Memory Placement Extensions
> a) Ability to support FLUSH
> i) Ability to support FLUSH with PLT Global Visibility
> ii) Ability to support FLUSH with PLT Persistence
Do you have any idea that can the HCA support just part of the FLUSH capabilities.
For example, HCA_foo only supports PLT Global Visibility, no PLT Persistence support.
Thanks
Zhijian
On 28/12/2021 16:07, Li Zhijian wrote:
> Device should enable IB_DEVICE_RDMA_FLUSH capability if it want to
> support RDMA FLUSH.
>
> Signed-off-by: Li Zhijian <lizhijian@...fujitsu.com>
> ---
> include/rdma/ib_verbs.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> index f04d66539879..51d58b641201 100644
> --- a/include/rdma/ib_verbs.h
> +++ b/include/rdma/ib_verbs.h
> @@ -291,6 +291,7 @@ enum ib_device_cap_flags {
> /* The device supports padding incoming writes to cacheline. */
> IB_DEVICE_PCI_WRITE_END_PADDING = (1ULL << 36),
> IB_DEVICE_ALLOW_USER_UNREG = (1ULL << 37),
> + IB_DEVICE_RDMA_FLUSH = (1ULL << 38),
> };
>
> enum ib_atomic_cap {
> @@ -4319,6 +4320,10 @@ static inline int ib_check_mr_access(struct ib_device *ib_dev,
> if (flags & IB_ACCESS_ON_DEMAND &&
> !(ib_dev->attrs.device_cap_flags & IB_DEVICE_ON_DEMAND_PAGING))
> return -EINVAL;
> +
> + if (flags & IB_ACCESS_FLUSH &&
> + !(ib_dev->attrs.device_cap_flags & IB_DEVICE_RDMA_FLUSH))
> + return -EINVAL;
> return 0;
> }
>
Powered by blists - more mailing lists