2023-09-22 11:30:14

by Wenjia Zhang

[permalink] [raw]
Subject: Re: [PATCH net-next v3 05/18] net/smc: reserve CHID range for SMC-D virtual device



On 21.09.23 15:19, Wen Gu wrote:
> This patch reserve CHID range from 0xFF00 to 0xFFFF for SMC-D virtual
> device and introduces helpers to identify them.
>
> Signed-off-by: Wen Gu <[email protected]>
> ---
> net/smc/smc_ism.h | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/net/smc/smc_ism.h b/net/smc/smc_ism.h
> index 14d2e77..2ecc8de 100644
> --- a/net/smc/smc_ism.h
> +++ b/net/smc/smc_ism.h
> @@ -15,6 +15,9 @@
>
> #include "smc.h"
>
> +#define SMC_VIRT_ISM_CHID_MAX 0xFFFF
> +#define SMC_VIRT_ISM_CHID_MIN 0xFF00
> +
> struct smcd_dev_list { /* List of SMCD devices */
> struct list_head list;
> struct mutex mutex; /* Protects list of devices */
> @@ -57,4 +60,16 @@ static inline int smc_ism_write(struct smcd_dev *smcd, u64 dmb_tok,
> return rc < 0 ? rc : 0;
> }
>
> +static inline bool __smc_ism_is_virtdev(u16 chid)
> +{
> + return (chid >= SMC_VIRT_ISM_CHID_MIN && chid <= SMC_VIRT_ISM_CHID_MAX);
> +}
> +
> +static inline bool smc_ism_is_virtdev(struct smcd_dev *smcd)
> +{
> + u16 chid = smcd->ops->get_chid(smcd);
> +
> + return __smc_ism_is_virtdev(chid);
> +}
> +
I'm wondering if barrier is needed here.
> #endif