[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACycT3tHxtfgQhQgv0VyF_U523qASEv1Ydc4XuX43MFRzGVbfw@mail.gmail.com>
Date: Tue, 13 Apr 2021 12:28:21 +0800
From: Yongji Xie <xieyongji@...edance.com>
To: Jason Wang <jasowang@...hat.com>
Cc: "Michael S. Tsirkin" <mst@...hat.com>,
Stefan Hajnoczi <stefanha@...hat.com>,
Stefano Garzarella <sgarzare@...hat.com>,
Parav Pandit <parav@...dia.com>,
Christoph Hellwig <hch@...radead.org>,
Christian Brauner <christian.brauner@...onical.com>,
Randy Dunlap <rdunlap@...radead.org>,
Matthew Wilcox <willy@...radead.org>, viro@...iv.linux.org.uk,
Jens Axboe <axboe@...nel.dk>, bcrl@...ck.org,
Jonathan Corbet <corbet@....net>,
Mika Penttilä <mika.penttila@...tfour.com>,
Dan Carpenter <dan.carpenter@...cle.com>,
virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org,
kvm@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: Re: Re: [PATCH v6 09/10] vduse: Introduce VDUSE - vDPA Device in Userspace
On Tue, Apr 13, 2021 at 11:35 AM Jason Wang <jasowang@...hat.com> wrote:
>
>
> 在 2021/4/12 下午5:59, Yongji Xie 写道:
> > On Mon, Apr 12, 2021 at 5:37 PM Jason Wang <jasowang@...hat.com> wrote:
> >>
> >> 在 2021/4/12 下午4:02, Yongji Xie 写道:
> >>> On Mon, Apr 12, 2021 at 3:16 PM Jason Wang <jasowang@...hat.com> wrote:
> >>>> 在 2021/4/9 下午4:02, Yongji Xie 写道:
> >>>>>>>>> +};
> >>>>>>>>> +
> >>>>>>>>> +struct vduse_dev_config_data {
> >>>>>>>>> + __u32 offset; /* offset from the beginning of config space */
> >>>>>>>>> + __u32 len; /* the length to read/write */
> >>>>>>>>> + __u8 data[VDUSE_CONFIG_DATA_LEN]; /* data buffer used to read/write */
> >>>>>>>> Note that since VDUSE_CONFIG_DATA_LEN is part of uAPI it means we can
> >>>>>>>> not change it in the future.
> >>>>>>>>
> >>>>>>>> So this might suffcient for future features or all type of virtio devices.
> >>>>>>>>
> >>>>>>> Do you mean 256 is no enough here?
> >>>>>> Yes.
> >>>>>>
> >>>>> But this request will be submitted multiple times if config lengh is
> >>>>> larger than 256. So do you think whether we need to extent the size to
> >>>>> 512 or larger?
> >>>> So I think you'd better either:
> >>>>
> >>>> 1) document the limitation (256) in somewhere, (better both uapi and doc)
> >>>>
> >>> But the VDUSE_CONFIG_DATA_LEN doesn't mean the limitation of
> >>> configuration space. It only means the maximum size of one data
> >>> transfer for configuration space. Do you mean document this?
> >>
> >> Yes, and another thing is that since you're using
> >> data[VDUSE_CONFIG_DATA_LEN] in the uapi, it implies the length is always
> >> 256 which seems not good and not what the code is wrote.
> >>
> > How about renaming VDUSE_CONFIG_DATA_LEN to VDUSE_MAX_TRANSFER_LEN?
> >
> > Thanks,
> > Yongji
>
>
> So a question is the reason to have a limitation of this in the uAPI?
> Note that in vhost-vdpa we don't have such:
>
> struct vhost_vdpa_config {
> __u32 off;
> __u32 len;
> __u8 buf[0];
> };
>
If so, we need to call read()/write() multiple times each time
receiving/sending one request or response in userspace and kernel. For
example,
1. read and check request/response type
2. read and check config length if type is VDUSE_SET_CONFIG or VDUSE_GET_CONFIG
3. read the payload
Not sure if it's worth it.
Thanks,
Yongji
Powered by blists - more mailing lists