hw/block/nvme: add msix_qsize parameter
commit6a25a4b42e24df515e0e9a6b65683e500c66de73
authorKlaus Jensen <k.jensen@samsung.com>
Tue, 9 Jun 2020 19:03:32 +0000 (9 21:03 +0200)
committerKevin Wolf <kwolf@redhat.com>
Wed, 17 Jun 2020 12:53:40 +0000 (17 14:53 +0200)
tree3eb51f0adfc56c593398b97512a9e3b583a4dec9
parentfbf2e5375e33d43c9e1386eed448e1a3c0996e88
hw/block/nvme: add msix_qsize parameter

Decouple the requested maximum number of ioqpairs (param max_ioqpairs)
from the number of MSI-X interrupt vectors by introducing a new
msix_qsize parameter and initialize MSI-X with that. This allows
emulating a device that has fewer vectors than I/O queue pairs and also
allows more than 2048 queue pairs. To keep the device behaving as
previously, use a msix_qsize default of 65 (default max_ioqpairs + 1).

This decoupling was actually suggested by Maxim some time ago in a
slightly different context, so adding a Suggested-by.

Suggested-by: Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Message-Id: <20200609190333.59390-22-its@irrelevant.dk>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
hw/block/nvme.c
hw/block/nvme.h