diff options
| author | Laurent Vivier <lvivier@redhat.com> | 2026-03-18 10:19:41 +0100 |
|---|---|---|
| committer | Stefano Brivio <sbrivio@redhat.com> | 2026-03-20 20:05:34 +0100 |
| commit | 451fb7600b8dfdf6800abee613f2b4f026fbd150 (patch) | |
| tree | 85d520fc7ef158b10d1a8f96f4c3193645de2dd5 /doc/platform-requirements/git: | |
| parent | f5391ae1b72680718e90b5ff6d83feec13f55366 (diff) | |
| download | passt-451fb7600b8dfdf6800abee613f2b4f026fbd150.tar passt-451fb7600b8dfdf6800abee613f2b4f026fbd150.tar.gz passt-451fb7600b8dfdf6800abee613f2b4f026fbd150.tar.bz2 passt-451fb7600b8dfdf6800abee613f2b4f026fbd150.tar.lz passt-451fb7600b8dfdf6800abee613f2b4f026fbd150.tar.xz passt-451fb7600b8dfdf6800abee613f2b4f026fbd150.tar.zst passt-451fb7600b8dfdf6800abee613f2b4f026fbd150.zip | |
vu_common: Move iovec management into vu_collect()
Previously, callers had to pre-initialize virtqueue elements with iovec
entries using vu_set_element() or vu_init_elem() before calling
vu_collect(). This meant each element owned a fixed, pre-assigned iovec
slot.
Move the iovec array into vu_collect() as explicit parameters (in_sg,
max_in_sg, and in_total), letting it pass the remaining iovec capacity
directly to vu_queue_pop(). A running current_iov counter tracks
consumed entries across elements, so multiple elements share a single
iovec pool. The optional in_total output parameter reports how many iovec
entries were consumed, allowing callers to track usage across multiple
vu_collect() calls.
This removes vu_set_element() and vu_init_elem() which are no longer
needed, and is a prerequisite for multi-buffer support where a single
virtqueue element can use more than one iovec entry. For now, callers
assert the current single-iovec-per-element invariant until they are
updated to handle multiple iovecs.
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'doc/platform-requirements/git:')
0 files changed, 0 insertions, 0 deletions
