Thread (30 messages) 30 messages, 3 authors, 2025-08-12

Re: [RFC 1/6] vduse: add v1 API definition

From: Jason Wang <jasowang@redhat.com>
Date: 2025-06-10 08:36:07
Also in: lkml

On Mon, Jun 9, 2025 at 2:11 PM Eugenio Perez Martin [off-list ref] wrote:
On Mon, Jun 9, 2025 at 3:50 AM Jason Wang [off-list ref] wrote:
quoted
On Mon, Jun 9, 2025 at 9:41 AM Jason Wang [off-list ref] wrote:
quoted
On Fri, Jun 6, 2025 at 7:50 PM Eugenio Pérez [off-list ref] wrote:
quoted
This allows to define all functions checking the API version set by the
userland device.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
It might be worth clarifying how it works.

For example,

1) would VDUSE behave differently or if it's just some new ioctls
I'd like to test more in-depth, but a device can just bump the version
ID and then implement the replies to the vduse messages. No need to
implement new ioctls. If the VDUSE device sets 0 in either number of
ASID or vq groups, the kernel assumes 1.
Right, this is the way we use now and I think maybe we can document
this somewhere.
But you have a very good point here, I think it is wise to evaluate
the shortcut of these messages in the VDUSE kernel module. If a VDUSE
device only has one vq group and one ASID, it can always return group
0 and asid 0 for everything, and fail every try to ser asid != 0.
Yes, and vhost-vDPA needs to guard against the misconfiguration.
This
way, the update is transparent for the VDUSE device, and future
devices do not need to implement the reply of these. What do you
think?
This should work.
quoted
quoted
2) If VDUSE behave differently, do we need a ioctl to set the API
version for backward compatibility?
Speak too fast, there's a VDUSE_SET_API_VERSION actually.

I think we need to think if it complicates the migration compatibility or not.
Do you mean migration as "increase the VDUSE version number", not "VM
live migration from vduse version 0 to vduse version 1", isn't it? The
second should not have any problem but I haven't tested it.
I mean if we bump the version, we can't migrate from version 1 to
version 0. Or we can offload this to the management (do we need to
extend the vdpa tool for this)?

Thanks
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help