qemu-e2k/qapi
Stefan Hajnoczi cf03a152c5 qdev: add IOThreadVirtQueueMappingList property type
virtio-blk and virtio-scsi devices will need a way to specify the
mapping between IOThreads and virtqueues. At the moment all virtqueues
are assigned to a single IOThread or the main loop. This single thread
can be a CPU bottleneck, so it is necessary to allow finer-grained
assignment to spread the load.

Introduce DEFINE_PROP_IOTHREAD_VQ_MAPPING_LIST() so devices can take a
parameter that maps virtqueues to IOThreads. The command-line syntax for
this new property is as follows:

  --device '{"driver":"foo","iothread-vq-mapping":[{"iothread":"iothread0","vqs":[0,1,2]},...]}'

IOThreads are specified by name and virtqueues are specified by 0-based
index.

It will be common to simply assign virtqueues round-robin across a set
of IOThreads. A convenient syntax that does not require specifying
individual virtqueue indices is available:

  --device '{"driver":"foo","iothread-vq-mapping":[{"iothread":"iothread0"},{"iothread":"iothread1"},...]}'

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20231220134755.814917-4-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2023-12-21 22:49:28 +01:00
..
acpi.json
audio.json
authz.json
block-core.json qcow2: keep reference on zeroize with discard-no-unref enabled 2023-11-06 16:15:07 +01:00
block-export.json
block.json
char.json
common.json
compat.json
control.json
crypto.json
cryptodev.json
cxl.json
dump.json dump: Add command interface for kdump-raw formats 2023-11-02 18:40:37 +04:00
error.json
introspect.json
job.json blockjob: introduce block-job-change QMP command 2023-10-31 18:20:25 +01:00
machine-common.json
machine-target.json qapi,risc-v: add query-cpu-model-expansion 2023-11-07 11:06:01 +10:00
machine.json qapi: Add HV_BALLOON_STATUS_REPORT event and its QMP query command 2023-11-06 14:08:10 +01:00
meson.build
migration.json qapi/migration.json: spelling: transfering 2023-11-15 11:09:17 +03:00
misc-target.json
misc.json
net.json
opts-visitor.c
pci.json
pragma.json qapi/pragma.json: Improve the comment about the lists of QAPI rule exceptions 2023-11-15 11:09:17 +03:00
qapi-clone-visitor.c
qapi-dealloc-visitor.c
qapi-forward-visitor.c
qapi-schema.json
qapi-type-helpers.c
qapi-util.c
qapi-visit-core.c
qdev.json
qmp-dispatch.c
qmp-event.c
qmp-registry.c
qobject-input-visitor.c
qobject-output-visitor.c
qom.json backends/iommufd: Introduce the iommufd object 2023-12-19 19:03:38 +01:00
rdma.json
replay.json
rocker.json
run-state.json
sockets.json
stats.json
string-input-visitor.c
string-output-visitor.c string-output-visitor: show structs as "<omitted>" 2023-12-21 22:49:28 +01:00
tpm.json
trace-events
trace.h
trace.json
transaction.json
ui.json Make Pixman an optional dependency 2023-11-07 19:00:03 +08:00
virtio.json qdev: add IOThreadVirtQueueMappingList property type 2023-12-21 22:49:28 +01:00
yank.json