RE: [PATCH v3 06/12] Drivers: hv: vmbus: Add a helper function is_sub_channel()
From: Michael Kelley
Date: Sat Aug 24 2019 - 00:23:31 EST
From: Dexuan Cui <decui@xxxxxxxxxxxxx> Sent: Monday, August 19, 2019 6:52 PM
>
> The existing method of telling if a channel is sub-channel in
> vmbus_process_offer() is cumbersome. This new simple helper function
> is preferred in future.
>
> Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx>
> ---
> include/linux/hyperv.h | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
> index 6256cc3..2d39248 100644
> --- a/include/linux/hyperv.h
> +++ b/include/linux/hyperv.h
> @@ -245,7 +245,10 @@ struct vmbus_channel_offer {
> } pipe;
> } u;
> /*
> - * The sub_channel_index is defined in win8.
> + * The sub_channel_index is defined in Win8: a value of zero means a
> + * primary channel and a value of non-zero means a sub-channel.
> + *
> + * Before Win8, the field is reserved, meaning it's always zero.
> */
> u16 sub_channel_index;
> u16 reserved3;
> @@ -934,6 +937,11 @@ static inline bool is_hvsock_channel(const struct vmbus_channel
> *c)
> VMBUS_CHANNEL_TLNPI_PROVIDER_OFFER);
> }
>
> +static inline bool is_sub_channel(const struct vmbus_channel *c)
> +{
> + return c->offermsg.offer.sub_channel_index != 0;
> +}
> +
> static inline void set_channel_affinity_state(struct vmbus_channel *c,
> enum hv_numa_policy policy)
> {
> --
> 1.8.3.1
Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>