qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] vhost-vsock: support parse mergeable feature


From: jiangyiwen
Subject: Re: [Qemu-devel] [PATCH] vhost-vsock: support parse mergeable feature
Date: Fri, 14 Dec 2018 17:43:28 +0800
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1

On 2018/12/13 22:54, Michael S. Tsirkin wrote:
> On Thu, Dec 13, 2018 at 11:27:24AM +0800, jiangyiwen wrote:
>> On 2018/12/12 21:19, Michael S. Tsirkin wrote:
>>> On Wed, Dec 12, 2018 at 05:54:49PM +0800, jiangyiwen wrote:
>>>> Currently vhost-vsock doesn't have any feature bits, so it
>>>> don't support parse mergeable rx buffer feature. And the
>>>> feature is support in another series of patches named
>>>> "VSOCK: support mergeable rx buffer in vhost-vsock".
>>>>
>>>> So we neet to support parse mergeable feature in vhost-vsock
>>>> if above patches are merged.
>>>>
>>>> Signed-off-by: Yiwen Jiang <address@hidden>
>>>
>>> OK but what does it do? this just defines the feature bit ...
>>> Also pls copy virtio-dev whenever you change the host/guest
>>> interface.
>>>
>>> Thanks!
>>>
>>
>> Hi Michael,
>>
>> In my opinion, for vhost device, device feature bits need to be
>> intersected between vhost and qemu, so I add mergeable rx buffer feature
>> into vdev->host_features, and then intersected with vhost_dev features.
>>
>> Later if someone want to add new feature, it can use virtio_add_feature()
>> in vhost_vsock_get_features().
>>
>> Thanks,
>> Yiwen.
> 
> I understand. Sorry.  It seems that your patchset wasn't threaded
> properly, each patch was by its own. Can you pls take a look at fixing
> that?
> 

Hi Michael,

Thanks your suggestions, I want to how to send patch when
patch involving multiple communities, like qemu
and linux kernel. In this case, how should we send them?

Thanks,
Yiwen.

>>>> ---
>>>>  hw/virtio/vhost-vsock.c                       | 9 +++++++--
>>>>  include/standard-headers/linux/virtio_vsock.h | 3 +++
>>>>  2 files changed, 10 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c
>>>> index aa5af92..5023c05 100644
>>>> --- a/hw/virtio/vhost-vsock.c
>>>> +++ b/hw/virtio/vhost-vsock.c
>>>> @@ -178,8 +178,13 @@ static uint64_t vhost_vsock_get_features(VirtIODevice 
>>>> *vdev,
>>>>                                           uint64_t requested_features,
>>>>                                           Error **errp)
>>>>  {
>>>> -    /* No feature bits used yet */
>>>> -    return requested_features;
>>>> +    VHostVSock *vsock = VHOST_VSOCK(vdev);
>>>> +    uint64_t features;
>>>> +
>>>> +    virtio_add_feature(&requested_features, VIRTIO_VSOCK_F_MRG_RXBUF);
>>>> +    features = requested_features & vsock->vhost_dev.features;
>>>> +
>>>> +    return features;
>>>>  }
>>>>
>>>>  static void vhost_vsock_handle_output(VirtIODevice *vdev, VirtQueue *vq)
>>>> diff --git a/include/standard-headers/linux/virtio_vsock.h 
>>>> b/include/standard-headers/linux/virtio_vsock.h
>>>> index be44321..4c583ec 100644
>>>> --- a/include/standard-headers/linux/virtio_vsock.h
>>>> +++ b/include/standard-headers/linux/virtio_vsock.h
>>>> @@ -38,6 +38,9 @@
>>>>  #include "standard-headers/linux/virtio_ids.h"
>>>>  #include "standard-headers/linux/virtio_config.h"
>>>>
>>>> +/* Virtio-vsock feature */
>>>> +#define VIRTIO_VSOCK_F_MRG_RXBUF 0 /* Host can merge receive buffers. */
>>>> +
>>>>  struct virtio_vsock_config {
>>>>    uint64_t guest_cid;
>>>>  } QEMU_PACKED;
>>>> -- 
>>>> 1.8.3.1
>>>>
>>>
>>> .
>>>
>>
> 
> .
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]