All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zhu, Lingshan" <lingshan.zhu@intel.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: jasowang@redhat.com, virtualization@lists.linux-foundation.org,
	netdev@vger.kernel.org, parav@nvidia.com,
	xieyongji@bytedance.com, gautam.dawar@amd.com
Subject: Re: [PATCH V3 6/6] vDPA: fix 'cast to restricted le16' warnings in vdpa.c
Date: Fri, 29 Jul 2022 18:01:38 +0800	[thread overview]
Message-ID: <87efac3e-2196-f9ad-1af1-a27470824eac@intel.com> (raw)
In-Reply-To: <20220729053615-mutt-send-email-mst@kernel.org>



On 7/29/2022 5:39 PM, Michael S. Tsirkin wrote:
> On Fri, Jul 29, 2022 at 05:35:09PM +0800, Zhu, Lingshan wrote:
>>
>> On 7/29/2022 5:23 PM, Michael S. Tsirkin wrote:
>>> On Fri, Jul 29, 2022 at 05:20:17PM +0800, Zhu, Lingshan wrote:
>>>> On 7/29/2022 5:17 PM, Michael S. Tsirkin wrote:
>>>>> On Fri, Jul 29, 2022 at 05:07:11PM +0800, Zhu, Lingshan wrote:
>>>>>> On 7/29/2022 4:53 PM, Michael S. Tsirkin wrote:
>>>>>>> On Fri, Jul 01, 2022 at 09:28:26PM +0800, Zhu Lingshan wrote:
>>>>>>>> This commit fixes spars warnings: cast to restricted __le16
>>>>>>>> in function vdpa_dev_net_config_fill() and
>>>>>>>> vdpa_fill_stats_rec()
>>>>>>>>
>>>>>>>> Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com>
>>>>>>>> ---
>>>>>>>>      drivers/vdpa/vdpa.c | 6 +++---
>>>>>>>>      1 file changed, 3 insertions(+), 3 deletions(-)
>>>>>>>>
>>>>>>>> diff --git a/drivers/vdpa/vdpa.c b/drivers/vdpa/vdpa.c
>>>>>>>> index 846dd37f3549..ed49fe46a79e 100644
>>>>>>>> --- a/drivers/vdpa/vdpa.c
>>>>>>>> +++ b/drivers/vdpa/vdpa.c
>>>>>>>> @@ -825,11 +825,11 @@ static int vdpa_dev_net_config_fill(struct vdpa_device *vdev, struct sk_buff *ms
>>>>>>>>      		    config.mac))
>>>>>>>>      		return -EMSGSIZE;
>>>>>>>> -	val_u16 = le16_to_cpu(config.status);
>>>>>>>> +	val_u16 = __virtio16_to_cpu(true, config.status);
>>>>>>>>      	if (nla_put_u16(msg, VDPA_ATTR_DEV_NET_STATUS, val_u16))
>>>>>>>>      		return -EMSGSIZE;
>>>>>>>> -	val_u16 = le16_to_cpu(config.mtu);
>>>>>>>> +	val_u16 = __virtio16_to_cpu(true, config.mtu);
>>>>>>>>      	if (nla_put_u16(msg, VDPA_ATTR_DEV_NET_CFG_MTU, val_u16))
>>>>>>>>      		return -EMSGSIZE;
>>>>>>> Wrong on BE platforms with legacy interface, isn't it?
>>>>>>> We generally don't handle legacy properly in VDPA so it's
>>>>>>> not a huge deal, but maybe add a comment at least?
>>>>>> Sure, I can add a comment here: this is for modern devices only.
>>>>>>
>>>>>> Thanks,
>>>>>> Zhu Lingshan
>>>>> Hmm. what "this" is for modern devices only here?
>>>> this cast, for LE modern devices.
>>> I think status existed in legacy for sure, and it's possible that
>>> some legacy devices backported mtu and max_virtqueue_pairs otherwise
>>> we would have these fields as __le not as __virtio, right?
>> yes, that's the reason why it is virtio_16 than just le16.
>>
>> I may find a better solution to detect whether it is LE, or BE without a
>> virtio_dev structure.
>> Check whether vdpa_device->get_device_features() has VIRTIO_F_VERISON_1. If
>> the device offers _F_VERSION_1, then it is a LE device,
>> or it is a BE device, then we use __virtio16_to_cpu(false, config.status).
>>
>> Does this look good?
> No since the question is can be a legacy driver with a transitional
> device.  I don't have a good idea yet. vhost has VHOST_SET_VRING_ENDIAN
> and maybe we need something like this for config as well?
Is it a little overkill to implementing vdpa_ops.get_endian()?
>
>>>>>>>> @@ -911,7 +911,7 @@ static int vdpa_fill_stats_rec(struct vdpa_device *vdev, struct sk_buff *msg,
>>>>>>>>      	}
>>>>>>>>      	vdpa_get_config_unlocked(vdev, 0, &config, sizeof(config));
>>>>>>>> -	max_vqp = le16_to_cpu(config.max_virtqueue_pairs);
>>>>>>>> +	max_vqp = __virtio16_to_cpu(true, config.max_virtqueue_pairs);
>>>>>>>>      	if (nla_put_u16(msg, VDPA_ATTR_DEV_NET_CFG_MAX_VQP, max_vqp))
>>>>>>>>      		return -EMSGSIZE;
>>>>>>>> -- 
>>>>>>>> 2.31.1


  reply	other threads:[~2022-07-29 10:01 UTC|newest]

Thread overview: 186+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-01 13:28 [PATCH V3 0/6] ifcvf/vDPA: support query device config space through netlink Zhu Lingshan
2022-07-01 13:28 ` [PATCH V3 1/6] vDPA/ifcvf: get_config_size should return a value no greater than dev implementation Zhu Lingshan
2022-07-04  4:39   ` Jason Wang
2022-07-04  4:39     ` Jason Wang
2022-07-08  6:44     ` Zhu, Lingshan
2022-07-13  5:44       ` Michael S. Tsirkin
2022-07-13  5:44         ` Michael S. Tsirkin
2022-07-13  7:52         ` Zhu, Lingshan
2022-07-13  5:31   ` Michael S. Tsirkin
2022-07-13  5:31     ` Michael S. Tsirkin
2022-07-13  7:48     ` Zhu, Lingshan
2022-07-01 13:28 ` [PATCH V3 2/6] vDPA/ifcvf: support userspace to query features and MQ of a management device Zhu Lingshan
2022-07-04  4:43   ` Jason Wang
2022-07-04  4:43     ` Jason Wang
2022-07-08  6:54     ` Zhu, Lingshan
2022-07-01 13:28 ` [PATCH V3 3/6] vDPA: allow userspace to query features of a vDPA device Zhu Lingshan
2022-07-01 22:02   ` Parav Pandit
2022-07-01 22:02     ` Parav Pandit via Virtualization
2022-07-04  4:46     ` Jason Wang
2022-07-04  4:46       ` Jason Wang
2022-07-04 12:53       ` Parav Pandit via Virtualization
2022-07-04 12:53         ` Parav Pandit
2022-07-05  7:59         ` Zhu, Lingshan
2022-07-05 11:56           ` Parav Pandit
2022-07-05 11:56             ` Parav Pandit via Virtualization
2022-07-05 16:56             ` Zhu, Lingshan
2022-07-05 17:01               ` Parav Pandit
2022-07-05 17:01                 ` Parav Pandit via Virtualization
2022-07-06  2:25                 ` Zhu, Lingshan
2022-07-06  2:28                   ` Parav Pandit
2022-07-06  2:28                     ` Parav Pandit via Virtualization
2022-07-23 11:27                   ` Zhu, Lingshan
2022-07-24 15:23                     ` Parav Pandit
2022-07-24 15:23                       ` Parav Pandit via Virtualization
2022-07-27  8:15             ` Si-Wei Liu
2022-07-27  8:15               ` Si-Wei Liu
2022-07-27 11:38               ` Zhu, Lingshan
2022-07-08  6:16     ` Zhu, Lingshan
2022-07-08 16:13       ` Parav Pandit
2022-07-08 16:13         ` Parav Pandit via Virtualization
2022-07-11  2:18         ` Zhu, Lingshan
2022-07-01 13:28 ` [PATCH V3 4/6] vDPA: !FEATURES_OK should not block querying device config space Zhu Lingshan
2022-07-01 22:12   ` Parav Pandit
2022-07-01 22:12     ` Parav Pandit via Virtualization
2022-07-08  6:22     ` Zhu, Lingshan
2022-07-13  5:23     ` Michael S. Tsirkin
2022-07-13  5:23       ` Michael S. Tsirkin
2022-07-13  7:46       ` Zhu, Lingshan
2022-07-27  9:43     ` Si-Wei Liu
     [not found]       ` <63242254-ba84-6810-dad8-34f900b97f2f@intel.com>
2022-07-28  0:56         ` Si-Wei Liu
2022-07-28  2:06           ` Jason Wang
2022-07-28  2:06             ` Jason Wang
2022-07-28  7:08             ` Si-Wei Liu
2022-07-28  7:08               ` Si-Wei Liu
2022-07-28  7:36               ` Jason Wang
2022-07-28  7:36                 ` Jason Wang
2022-07-28  7:44                 ` Zhu, Lingshan
2022-07-28  8:20                 ` spec clarification (was Re: [PATCH V3 4/6] vDPA: !FEATURES_OK should not block querying device config space) Si-Wei Liu
2022-07-28 11:28                   ` Michael S. Tsirkin
2022-07-28 11:28                     ` [virtio-comment] " Michael S. Tsirkin
2022-07-28 11:28                     ` Michael S. Tsirkin
2022-07-28 11:35               ` [PATCH V3 4/6] vDPA: !FEATURES_OK should not block querying device config space Michael S. Tsirkin
2022-07-28 11:35                 ` Michael S. Tsirkin
2022-07-28 22:12                 ` Si-Wei Liu
2022-07-28 22:12                   ` Si-Wei Liu
     [not found]           ` <00e2e07e-1a2e-7af8-a060-cc9034e0d33f@intel.com>
2022-07-28 21:48             ` Si-Wei Liu
     [not found]               ` <c143e2da-208e-b046-9b8f-1780f75ed3e6@intel.com>
2022-07-29 20:55                 ` Si-Wei Liu
2022-07-29 20:55                   ` Si-Wei Liu
2022-08-01  4:44                   ` Jason Wang
2022-08-01  4:44                     ` Jason Wang
2022-08-01 22:53                     ` Si-Wei Liu
2022-08-01 22:53                       ` Si-Wei Liu
2022-08-01 22:58                       ` Si-Wei Liu
2022-08-01 22:58                         ` Si-Wei Liu
2022-08-02  6:33                         ` Jason Wang
2022-08-02  6:33                           ` Jason Wang
2022-08-03  1:26                           ` Si-Wei Liu
2022-08-03  1:26                             ` Si-Wei Liu
2022-08-03  2:30                             ` Zhu, Lingshan
2022-08-03 23:09                               ` Si-Wei Liu
2022-08-03 23:09                                 ` Si-Wei Liu
2022-08-04  1:41                                 ` Zhu, Lingshan
2022-08-04  1:41                                 ` Zhu, Lingshan
2022-07-01 13:28 ` [PATCH V3 5/6] vDPA: answer num of queue pairs = 1 to userspace when VIRTIO_NET_F_MQ == 0 Zhu Lingshan
2022-07-01 22:07   ` Parav Pandit
2022-07-01 22:07     ` Parav Pandit via Virtualization
2022-07-08  6:21     ` Zhu, Lingshan
2022-07-08 16:23       ` Parav Pandit via Virtualization
2022-07-08 16:23         ` Parav Pandit
2022-07-11  2:29         ` Zhu, Lingshan
2022-07-12 16:48           ` Parav Pandit
2022-07-12 16:48             ` Parav Pandit via Virtualization
2022-07-13  3:03             ` Zhu, Lingshan
2022-07-13  3:06               ` Parav Pandit
2022-07-13  3:06                 ` Parav Pandit via Virtualization
2022-07-13  3:45                 ` Zhu, Lingshan
2022-07-26 15:56                   ` Parav Pandit
2022-07-26 15:56                     ` Parav Pandit via Virtualization
2022-07-26 19:52                     ` Michael S. Tsirkin
2022-07-26 19:52                       ` Michael S. Tsirkin
2022-07-26 20:49                       ` Parav Pandit
2022-07-26 20:49                         ` Parav Pandit via Virtualization
2022-07-27  2:14                     ` Zhu, Lingshan
2022-07-27  2:17                       ` Parav Pandit
2022-07-27  2:17                         ` Parav Pandit via Virtualization
2022-07-27  2:53                         ` Zhu, Lingshan
2022-07-27  3:47                           ` Parav Pandit
2022-07-27  3:47                             ` Parav Pandit via Virtualization
2022-07-27  4:24                             ` Zhu, Lingshan
2022-07-27  6:01                             ` Michael S. Tsirkin
2022-07-27  6:01                               ` Michael S. Tsirkin
2022-07-27  6:25                               ` Zhu, Lingshan
2022-07-27  6:56                                 ` Jason Wang
2022-07-27  6:56                                   ` Jason Wang
2022-07-27  9:05                                   ` Michael S. Tsirkin
2022-07-27  9:05                                     ` Michael S. Tsirkin
2022-07-27  6:54                               ` Jason Wang
2022-07-27  6:54                                 ` Jason Wang
2022-07-27  9:02                                 ` Michael S. Tsirkin
2022-07-27  9:02                                   ` Michael S. Tsirkin
2022-07-27  9:50                                   ` Jason Wang
2022-07-27  9:50                                     ` Jason Wang
2022-07-27 15:45                                     ` Michael S. Tsirkin
2022-07-27 15:45                                       ` Michael S. Tsirkin
2022-07-28  1:21                                       ` Jason Wang
2022-07-28  1:21                                         ` Jason Wang
2022-07-28  3:46                                         ` Zhu, Lingshan
2022-07-28  5:53                                           ` Jason Wang
2022-07-28  5:53                                             ` Jason Wang
2022-07-28  6:02                                             ` Zhu, Lingshan
2022-07-28  6:41                                             ` Michael S. Tsirkin
2022-07-28  6:41                                               ` Michael S. Tsirkin
2022-08-01  4:50                                               ` Jason Wang
2022-08-01  4:50                                                 ` Jason Wang
2022-07-27  7:50                               ` Si-Wei Liu
2022-07-27  7:50                                 ` Si-Wei Liu
2022-07-27  9:01                                 ` Michael S. Tsirkin
2022-07-27  9:01                                   ` Michael S. Tsirkin
2022-07-27 10:09                                   ` Si-Wei Liu
2022-07-27 10:09                                     ` Si-Wei Liu
2022-07-27 11:54                                     ` Zhu, Lingshan
2022-07-28  1:41                                       ` Si-Wei Liu
2022-07-28  1:41                                         ` Si-Wei Liu
2022-07-28  2:44                                         ` Zhu, Lingshan
2022-07-28 21:54                                           ` Si-Wei Liu
2022-07-28 21:54                                             ` Si-Wei Liu
2022-07-29  2:07                                             ` Zhu, Lingshan
2022-07-27 15:48                                     ` Michael S. Tsirkin
2022-07-27 15:48                                       ` Michael S. Tsirkin
2022-07-28  7:22                                       ` Si-Wei Liu
2022-07-13  5:26     ` Michael S. Tsirkin
2022-07-13  5:26       ` Michael S. Tsirkin
2022-07-13  7:47       ` Zhu, Lingshan
2022-07-26 15:54       ` Parav Pandit via Virtualization
2022-07-26 15:54         ` Parav Pandit
2022-07-26 19:48         ` Michael S. Tsirkin
2022-07-26 19:48           ` Michael S. Tsirkin
2022-07-26 20:53           ` Parav Pandit
2022-07-26 20:53             ` Parav Pandit via Virtualization
2022-07-27  1:56             ` Zhu, Lingshan
2022-07-27  2:11             ` Zhu, Lingshan
2022-07-01 13:28 ` [PATCH V3 6/6] vDPA: fix 'cast to restricted le16' warnings in vdpa.c Zhu Lingshan
2022-07-01 22:18   ` Parav Pandit
2022-07-01 22:18     ` Parav Pandit via Virtualization
2022-07-08  6:25     ` Zhu, Lingshan
2022-07-08 16:08       ` Parav Pandit
2022-07-08 16:08         ` Parav Pandit via Virtualization
2022-07-29  8:53   ` Michael S. Tsirkin
2022-07-29  8:53     ` Michael S. Tsirkin
2022-07-29  9:07     ` Zhu, Lingshan
2022-07-29  9:17       ` Michael S. Tsirkin
2022-07-29  9:17         ` Michael S. Tsirkin
2022-07-29  9:20         ` Zhu, Lingshan
2022-07-29  9:23           ` Michael S. Tsirkin
2022-07-29  9:23             ` Michael S. Tsirkin
2022-07-29  9:35             ` Zhu, Lingshan
2022-07-29  9:39               ` Michael S. Tsirkin
2022-07-29  9:39                 ` Michael S. Tsirkin
2022-07-29 10:01                 ` Zhu, Lingshan [this message]
2022-07-29 10:16                   ` Michael S. Tsirkin
2022-07-29 10:16                     ` Michael S. Tsirkin
2022-07-29 10:18                     ` Zhu, Lingshan
2022-08-01  4:33                 ` Jason Wang
2022-08-01  4:33                   ` Jason Wang
2022-08-01  6:25                   ` Michael S. Tsirkin
2022-08-01  6:25                     ` Michael S. Tsirkin

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=87efac3e-2196-f9ad-1af1-a27470824eac@intel.com \
    --to=lingshan.zhu@intel.com \
    --cc=gautam.dawar@amd.com \
    --cc=jasowang@redhat.com \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=parav@nvidia.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xieyongji@bytedance.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.