From: Łukasz Gieryk
With the new command one can:
- assign flexible resources (queues, interrupts) to primary and
secondary controllers,
- toggle the online/offline state of given controller.
Signed-off-by: Łukasz Gieryk
Acked-by: Michael S. Tsirkin
Reviewed-by: Klaus Jensen
Signed-off-b
From: Lukasz Maniak
Documentation describes 5 new parameters being added regarding SR-IOV:
sriov_max_vfs
sriov_vq_flexible
sriov_vi_flexible
sriov_max_vi_per_vf
sriov_max_vq_per_vf
The description also includes the simplest possible QEMU invocation
and the series of NVMe commands required to ena
From: Łukasz Gieryk
This patch updates the initialization place for the AER queue, so it’s
initialized once, at controller initialization, and not every time
controller is enabled.
While the original version works for a non-SR-IOV device, as it’s hard
to interact with the controller if it’s not
From: Łukasz Gieryk
PCI device capable of SR-IOV support is a new, still-experimental
feature with only a single working example of the Nvme device.
This patch in an attempt to fix a double-free problem when a
SR-IOV-capable Nvme device is hot-unplugged in the following scenario:
Qemu CLI:
From: Klaus Jensen
This reverts commit d97eee64fef35655bd06f5c44a07fdb83a6274ae.
The emulated controller correctly accounts for not including bit buckets
in the controller-to-host data transfer, however it doesn't correctly
account for the holes for the on-disk data offsets.
Reported-by: Keith
From: Klaus Jensen
The SRIOV series exposed an issued with how CC register writes are
handled and how CSTS is set in response to that. Specifically, after
applying the SRIOV series, the controller could end up in a state with
CC.EN set to '1' but with CSTS.RDY cleared to '0', causing drivers to
e
On Thu, Jun 09, 2022 at 04:27:41PM +0100, Alberto Faria wrote:
> bdrv_{pread,pwrite}() now return -EIO instead of -EINVAL when 'bytes' is
> negative, making them consistent with bdrv_{preadv,pwritev}() and
> bdrv_co_{pread,pwrite,preadv,pwritev}().
>
> bdrv_pwrite_zeroes() now also calls trace_bdr
Hi Stefan,
Stefan Hajnoczi 于2022年6月20日周一 15:55写道:
>
> On Mon, Jun 20, 2022 at 11:36:11AM +0800, Sam Li wrote:
>
> Hi Sam,
> Is this version 2 of "[RFC v1] Add support for zoned device"? Please
> keep the email subject line the same (except for "v2", "v3", etc) so
> that it's clear which patch ser
Hello Iris,
Could please resend with a Sob tag ?
Thanks,
C.
On 6/18/22 00:06, Iris Chen wrote:
---
Fixing suggestions to move testing related code to a different commit.
tests/qtest/aspeed_smc-test.c | 62 +++
1 file changed, 62 insertions(+)
diff --git a
Hi
On Tue, Jun 21, 2022 at 6:14 PM Markus Armbruster wrote:
>
> marcandre.lur...@redhat.com writes:
>
> > From: Marc-André Lureau
> >
> > Replace hard-coded "qemu/osdep.h" include with a qapi-gen option to
> > specify the headers to include. This will allow to substitute QEMU
> > osdep.h with g
Am 22/06/2022 um 20:38 schrieb Vladimir Sementsov-Ogievskiy:
> On 6/22/22 17:26, Emanuele Giuseppe Esposito wrote:
>>
>>
>> Am 21/06/2022 um 19:26 schrieb Vladimir Sementsov-Ogievskiy:
>>> On 6/16/22 16:18, Emanuele Giuseppe Esposito wrote:
With the*nop* job_lock/unlock placed, rename the
On 6/23/22 12:08, Emanuele Giuseppe Esposito wrote:
Am 22/06/2022 um 20:38 schrieb Vladimir Sementsov-Ogievskiy:
On 6/22/22 17:26, Emanuele Giuseppe Esposito wrote:
Am 21/06/2022 um 19:26 schrieb Vladimir Sementsov-Ogievskiy:
On 6/16/22 16:18, Emanuele Giuseppe Esposito wrote:
With the*no
Am 23/06/2022 um 13:10 schrieb Vladimir Sementsov-Ogievskiy:
> On 6/23/22 12:08, Emanuele Giuseppe Esposito wrote:
>>
>>
>> Am 22/06/2022 um 20:38 schrieb Vladimir Sementsov-Ogievskiy:
>>> On 6/22/22 17:26, Emanuele Giuseppe Esposito wrote:
Am 21/06/2022 um 19:26 schrieb Vladimir
On 6/23/22 14:19, Emanuele Giuseppe Esposito wrote:
Am 23/06/2022 um 13:10 schrieb Vladimir Sementsov-Ogievskiy:
On 6/23/22 12:08, Emanuele Giuseppe Esposito wrote:
Am 22/06/2022 um 20:38 schrieb Vladimir Sementsov-Ogievskiy:
On 6/22/22 17:26, Emanuele Giuseppe Esposito wrote:
Am 21/06/202
marcandre.lur...@redhat.com writes:
> From: Marc-André Lureau
>
> The generated visitor code includes abort() & assert(), we shouldn't
> rely on the global "-i" headers to include the necessary system headers.
Suggest ", even though the default qemu/osdep.h always does.
>
> Signed-off-by: Marc-
On Thu, Jun 9, 2022 at 4:27 PM Alberto Faria wrote:
> Start by making the interfaces of analogous non-coroutine and coroutine
> functions consistent with each other, then implement the non-coroutine
> ones using generated_co_wrapper.
>
> For the bdrv_pwrite_sync() case, also add the missing
> bdrv
From: Klaus Jensen
This series includes a couple of misc fixes as well as some cleanup
pertaining to the aio handling in flush, dsm, copy and zone reset. As
Jinhao gets around to iothread stuff, it might come in handy to have
this stuff cleaned up a bit.
Dmitrys fix (nvme-next commit "hw/nvme: a
From: Klaus Jensen
Replace the local Error variable with errp and ERRP_GUARD().
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index b688afccbe5a..af82daa304bf 100644
--- a/hw/nvme/
From: Klaus Jensen
Make sure that iocb->aiocb is NULL'ed when cancelling.
Fixes: 38f4ac65ac88 ("hw/nvme: reimplement flush to allow cancellation")
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index a85eabfa8b
From: Klaus Jensen
Number of ZRWA Resources should be initialized to Max Active Resources,
and not the total number of zones.
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 8 ++--
hw/nvme/ns.c | 4 ++--
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw
From: Klaus Jensen
If the zone reset operation is cancelled but the block unmap operation
completes normally, the callback will continue resetting the next zone
since it neglects to check iocb->ret which will have been set to
-ECANCELED. Make sure that this is checked and bail out if an error is
From: Klaus Jensen
Commit 44219b6029fc ("hw/nvme: 64-bit pi support") accidentially
reintroduced code that was removed in commit a6de6ed5092c ("hw/nvme:
move format parameter parsing").
It is beneign, but get rid of it anyway.
Fixes: 44219b6029fc ("hw/nvme: 64-bit pi support")
Signed-off-by: Kl
From: Klaus Jensen
When the DSM operation is cancelled asynchronously, we set iocb->ret to
-ECANCELED. However, the callback function only checks the return value
of the completed aio, which may have completed succesfully prior to the
cancellation and thus the callback ends up continuing the dsm
From: Klaus Jensen
Cancelling a format operation neglects to set iocb->ret as well as
clearing the iocb->aiocb after cancelling the underlying aiocb.
Fix this.
Fixes: 3bcf26d3d619 ("hw/nvme: reimplement format nvm to allow cancellation")
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 3 +++
From: Klaus Jensen
Make nvme_check_constraints() return an int and fix incorrect use of
errp/local_err.
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 48 +++-
1 file changed, 23 insertions(+), 25 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme
From: Klaus Jensen
The NvmeCtrl is a PCIDevice, so remove the redundant passing of the
PCIDevice parameter.
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 21 +
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index c8c4a0718f
From: Klaus Jensen
Move error handling down in the call stack to simplify the control flow.
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 50 --
1 file changed, 12 insertions(+), 38 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
in
From: Klaus Jensen
Use the same logic in format as in flush, saving a bh scheduling at the
start of the operation and moving completion handling to a separately
invoked bottom halve.
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 43 ++-
1 file changed
From: Klaus Jensen
Remove an initial bh scheduling and move the completion invocation into
a separate bh. Also, make sure that iocb->aiocb is NULL'ed when
cancelling.
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 32 +++-
1 file changed, 19 insertions(+), 13 dele
On Thu, Jun 09, 2022 at 04:27:40PM +0100, Alberto Faria wrote:
> For consistency with other I/O functions, and in preparation to
> implement bdrv_{pread,pwrite}() using generated_co_wrapper.
>
> unsigned int fits in int64_t, so all callers remain correct.
>
> bdrv_check_request32() is called furt
From: Klaus Jensen
Hi,
The following changes since commit 7db86fe2ed220c196061824e652b94e7a2acbabf:
Merge tag 'pull-migration-20220623b' of https://gitlab.com/dagrh/qemu into
staging (2022-06-23 10:14:20 -0700)
are available in the Git repository at:
git://git.infradead.org/qemu-nvme.git
From: Lukasz Maniak
This patch implements initial support for Single Root I/O Virtualization
on an NVMe device.
Essentially, it allows to define the maximum number of virtual functions
supported by the NVMe controller via sriov_max_vfs parameter.
Passing a non-zero value to sriov_max_vfs trigge
From: Łukasz Gieryk
The NVMe device defines two properties: max_ioqpairs, msix_qsize. Having
them as constants is problematic for SR-IOV support.
SR-IOV introduces virtual resources (queues, interrupts) that can be
assigned to PF and its dependent VFs. Each device, following a reset,
should work
From: Lukasz Maniak
Implementation of Primary Controller Capabilities data
structure (Identify command with CNS value of 14h).
Currently, the command returns only ID of a primary controller.
Handling of remaining fields are added in subsequent patches
implementing virtualization enhancements.
S
From: Klaus Jensen
The internally maintained AEN mask is not cleared on reset. Fix this.
Reviewed-by: Keith Busch
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 15d580a904ef..d349b3e42620 100644
--- a/hw
From: Lukasz Maniak
Introduce handling for Secondary Controller List (Identify command with
CNS value of 15h).
Secondary controller ids are unique in the subsystem, hence they are
reserved by it upon initialization of the primary controller to the
number of sriov_max_vfs.
ID reservation require
From: Łukasz Gieryk
This patch implements the Function Level Reset, a feature currently not
implemented for the Nvme device, while listed as a mandatory ("shall")
in the 1.4 spec.
The implementation reuses FLR-related building blocks defined for the
pci-bridge module, and follows the same logic:
From: Łukasz Gieryk
An NVMe device with SR-IOV capability calculates the BAR size
differently for PF and VF, so it makes sense to extract the common code
to a separate function.
Signed-off-by: Łukasz Gieryk
Reviewed-by: Klaus Jensen
Acked-by: Michael S. Tsirkin
Signed-off-by: Klaus Jensen
--
From: Łukasz Gieryk
The n->reg_size parameter unnecessarily splits the BAR0 size calculation
in two phases; removed to simplify the code.
With all the calculations done in one place, it seems the pow2ceil,
applied originally to reg_size, is unnecessary. The rounding should
happen as the last ste
From: Łukasz Gieryk
With four new properties:
- sriov_v{i,q}_flexible,
- sriov_max_v{i,q}_per_vf,
one can configure the number of available flexible resources, as well as
the limits. The primary and secondary controller capability structures
are initialized accordingly.
Since the number of ava
40 matches
Mail list logo