<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-next.git/include/uapi/linux/vduse.h, branch master</title>
<subtitle>Linux kernel latest source</subtitle>
<id>http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/'/>
<updated>2026-06-11T14:50:57+00:00</updated>
<entry>
<title>vduse: Add suspend</title>
<updated>2026-06-11T14:50:57+00:00</updated>
<author>
<name>Eugenio Pérez</name>
<email>eperezma@redhat.com</email>
</author>
<published>2026-06-10T08:34:52+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=1f673033c02735bb38ee2f16f1c86f042f4de9d4'/>
<id>urn:sha1:1f673033c02735bb38ee2f16f1c86f042f4de9d4</id>
<content type='text'>
Implement suspend operation for vduse devices, so vhost-vdpa will offer
that backend feature and userspace can effectively suspend the device.

This is a must before get virtqueue indexes (base) for live migration,
since the device could modify them after userland gets them.

This patch does not implement resume, so VMM resets the whole device
to recover from a live migration failure.  Resume optimization can be
implemented on top of these patches, as other vDPA devices have done in
the past.

Includes clag fixes by Nathan Chancellor &lt;nathan@kernel.org&gt;
and squashed fixes by Eugenio Pérez &lt;eperezma@redhat.com&gt;.

Signed-off-by: Eugenio Pérez &lt;eperezma@redhat.com&gt;
Message-ID: &lt;20260610083452.477759-1-eperezma@redhat.com&gt;
Signed-off-by: Nathan Chancellor &lt;nathan@kernel.org&gt;
Message-ID: &lt;20260610-vduse_vq_kick-fix-guard-usage-v1-1-0ce02c08006e@kernel.org&gt;
Message-ID: &lt;20260611133806.198402-2-eperezma@redhat.com&gt;
Message-ID: &lt;20260611133806.198402-3-eperezma@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>vduse: add F_QUEUE_READY feature</title>
<updated>2026-06-10T06:17:01+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@redhat.com</email>
</author>
<published>2026-06-03T19:42:15+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=e372c4ca7931cadb5cbee1cd9124cfad38fa2391'/>
<id>urn:sha1:e372c4ca7931cadb5cbee1cd9124cfad38fa2391</id>
<content type='text'>
Add the VDUSE_F_QUEUE_READY feature flag, which tells the kernel to
forward vq ready state changes to the VDUSE userland instance via a
new VDUSE_SET_VQ_READY message.

Without this feature, the VDUSE userland instance has no way to know
when a virtqueue transitions to the ready state and when the driver
starts using the virtqueue.

If the userland instance doesn't support VDUSE_F_QUEUE_READY, the
kernel silently ignores vq ready transitions as before.

If the userland instance negotiates VDUSE_F_QUEUE_READY but fails to
acknowledge a VDUSE_SET_VQ_READY message, the device is marked as
broken.

Signed-off-by: Eugenio Pérez &lt;eperezma@redhat.com&gt;
Message-ID: &lt;20260415085005.584291-4-eperezma@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>vduse: add VDUSE_GET_FEATURES ioctl</title>
<updated>2026-06-10T06:17:01+00:00</updated>
<author>
<name>Eugenio Pérez</name>
<email>eperezma@redhat.com</email>
</author>
<published>2026-03-10T19:07:58+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=eb8fb4be7891374582f1807ea9d43a733beaf45a'/>
<id>urn:sha1:eb8fb4be7891374582f1807ea9d43a733beaf45a</id>
<content type='text'>
Add an ioctl to allow VDUSE instances to query the available features
supported by the kernel module.

Signed-off-by: Eugenio Pérez &lt;eperezma@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Message-ID: &lt;20260310190759.1097506-3-eperezma@redhat.com&gt;
</content>
</entry>
<entry>
<title>vduse: avoid adding implicit padding</title>
<updated>2026-02-09T17:21:32+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2026-02-02T22:48:07+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=ebcff9dacaf2c1418f8bc927388186d7d3674603'/>
<id>urn:sha1:ebcff9dacaf2c1418f8bc927388186d7d3674603</id>
<content type='text'>
The vduse_iova_range_v2 and vduse_iotlb_entry_v2 structures are both
defined in a way that adds implicit padding and is incompatible between
i386 and x86_64 userspace because of the different structure alignment
requirements. Building the header with -Wpadded shows these new warnings:

vduse.h:305:1: error: padding struct size to alignment boundary with 4 bytes [-Werror=padded]
vduse.h:374:1: error: padding struct size to alignment boundary with 4 bytes [-Werror=padded]

Change the amount of padding in these two structures to align them to
64 bit words and avoid those problems. Since the v1 vduse_iotlb_entry
already has an inconsistent size, do not attempt to reuse the structure
but rather list the members indiviudally, with a fixed amount of
padding.

Fixes: 079212f6877e ("vduse: add vq group asid support")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Message-Id: &lt;20260202224835.559538-1-arnd@kernel.org&gt;
</content>
</entry>
<entry>
<title>vduse: add vq group asid support</title>
<updated>2026-01-28T20:32:18+00:00</updated>
<author>
<name>Eugenio Pérez</name>
<email>eperezma@redhat.com</email>
</author>
<published>2026-01-19T14:33:04+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=079212f6877e5d07308c8998a8fbc7539ca3f8f3'/>
<id>urn:sha1:079212f6877e5d07308c8998a8fbc7539ca3f8f3</id>
<content type='text'>
Add support for assigning Address Space Identifiers (ASIDs) to each VQ
group.  This enables mapping each group into a distinct memory space.

The vq group to ASID association is protected by a rwlock now.  But the
mutex domain_lock keeps protecting the domains of all ASIDs, as some
operations like the one related with the bounce buffer size still
requires to lock all the ASIDs.

Acked-by: Jason Wang &lt;jasowang@redhat.com&gt;
Signed-off-by: Eugenio Pérez &lt;eperezma@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Message-Id: &lt;20260119143306.1818855-12-eperezma@redhat.com&gt;
</content>
</entry>
<entry>
<title>vduse: add vq group support</title>
<updated>2026-01-28T20:32:16+00:00</updated>
<author>
<name>Eugenio Pérez</name>
<email>eperezma@redhat.com</email>
</author>
<published>2026-01-19T14:32:56+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=9350a09afd086771b0612c7b7c9583e8a1568135'/>
<id>urn:sha1:9350a09afd086771b0612c7b7c9583e8a1568135</id>
<content type='text'>
This allows separate the different virtqueues in groups that shares the
same address space.  Asking the VDUSE device for the groups of the vq at
the beginning as they're needed for the DMA API.

Allocating 3 vq groups as net is the device that need the most groups:
* Dataplane (guest passthrough)
* CVQ
* Shadowed vrings.

Future versions of the series can include dynamic allocation of the
groups array so VDUSE can declare more groups.

Acked-by: Jason Wang &lt;jasowang@redhat.com&gt;
Reviewed-by: Xie Yongji &lt;xieyongji@bytedance.com&gt;
Signed-off-by: Eugenio Pérez &lt;eperezma@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Message-Id: &lt;20260119143306.1818855-4-eperezma@redhat.com&gt;
</content>
</entry>
<entry>
<title>vduse: add v1 API definition</title>
<updated>2026-01-28T20:32:16+00:00</updated>
<author>
<name>Eugenio Pérez</name>
<email>eperezma@redhat.com</email>
</author>
<published>2026-01-19T14:32:55+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=a006ed4ecd4905b69402980ad7d4e5f31bf44953'/>
<id>urn:sha1:a006ed4ecd4905b69402980ad7d4e5f31bf44953</id>
<content type='text'>
This allows the kernel to detect whether the userspace VDUSE device
supports the VQ group and ASID features.  VDUSE devices that don't set
the V1 API will not receive the new messages, and vdpa device will be
created with only one vq group and asid.

The next patches implement the new feature incrementally, only enabling
the VDUSE device to set the V1 API version by the end of the series.

Acked-by: Jason Wang &lt;jasowang@redhat.com&gt;
Reviewed-by: Xie Yongji &lt;xieyongji@bytedance.com&gt;
Signed-off-by: Eugenio Pérez &lt;eperezma@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Message-Id: &lt;20260119143306.1818855-3-eperezma@redhat.com&gt;
</content>
</entry>
<entry>
<title>uapi: vduse: fix typo in comment</title>
<updated>2025-09-21T21:44:20+00:00</updated>
<author>
<name>Ashwini Sahu</name>
<email>ashwini@wisig.com</email>
</author>
<published>2025-09-08T09:56:45+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=d6d673dd1e92b2bed0096e7e7e9fe5d7e7d2156c'/>
<id>urn:sha1:d6d673dd1e92b2bed0096e7e7e9fe5d7e7d2156c</id>
<content type='text'>
Fix a spelling mistake in vduse.h: "regsion" → "region" in the
documentation for struct vduse_iova_info.

No functional change.
Signed-off-by: Ashwini Sahu &lt;ashwini@wisig.com&gt;
Message-Id: &lt;20250908095645.610336-1-ashwini@wisig.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>vduse: relicense under GPL-2.0 OR BSD-3-Clause</title>
<updated>2025-01-08T11:37:13+00:00</updated>
<author>
<name>Yongji Xie</name>
<email>xieyongji@bytedance.com</email>
</author>
<published>2024-11-19T07:42:38+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=b989531e0bd7704dc837e37f8d16bbc921e6cf6c'/>
<id>urn:sha1:b989531e0bd7704dc837e37f8d16bbc921e6cf6c</id>
<content type='text'>
Dual-license the vduse kernel header file to dual
GPL-2.0 OR BSD-3-Clause license to make it possible
to ship it with DPDK (under BSD-3-Clause) for older
distros.

Signed-off-by: Yongji Xie &lt;xieyongji@bytedance.com&gt;
Message-Id: &lt;20241119074238.38299-1-xieyongji@bytedance.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>vduse: Support querying information of IOVA regions</title>
<updated>2022-08-11T08:26:08+00:00</updated>
<author>
<name>Xie Yongji</name>
<email>xieyongji@bytedance.com</email>
</author>
<published>2022-08-03T04:55:23+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=ad146355bfad627bd0717ece73997c6c93b1b82e'/>
<id>urn:sha1:ad146355bfad627bd0717ece73997c6c93b1b82e</id>
<content type='text'>
This introduces a new ioctl: VDUSE_IOTLB_GET_INFO to
support querying some information of IOVA regions.

Now it can be used to query whether the IOVA region
supports userspace memory registration.

Signed-off-by: Xie Yongji &lt;xieyongji@bytedance.com&gt;
Message-Id: &lt;20220803045523.23851-6-xieyongji@bytedance.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: Jason Wang &lt;jasowang@redhat.com&gt;
</content>
</entry>
</feed>
