[PATCH v4 0/4] hw/nvme: fix broken shadow doorbells on some platforms

Klaus Jensen posted 4 patches 1 year, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221212114409.34972-1-its@irrelevant.dk
Maintainers: Keith Busch <kbusch@kernel.org>, Klaus Jensen <its@irrelevant.dk>
hw/nvme/ctrl.c       | 121 ++++++++++++++++++++++++++-----------------
hw/nvme/trace-events |   8 +--
2 files changed, 78 insertions(+), 51 deletions(-)
[PATCH v4 0/4] hw/nvme: fix broken shadow doorbells on some platforms
Posted by Klaus Jensen 1 year, 4 months ago
From: Klaus Jensen <k.jensen@samsung.com>

Guenter reports that hw/nvme is broken on riscv64[1] and big endian
platforms[2].

This is a regression since 7.1, so this does not warrent an rc5 for 7.2.
I'm sure Guenter can carry this patch in his tree, and maybe we can get
this out in a stable release.

On riscv, the issue is a missing cq eventidx update. I really wonder why
this issue only shows up on riscv64. We have not observed this on other
platforms (yet).

Further, Guenter also reported problems on big-endian platforms. The
issue here is missing endian conversions which patch 3 addresses. This
also requires a fix for the Linux kernel that I am posting separately
(can't link to it, chicken and egg problem).

  [1]: https://lore.kernel.org/qemu-devel/20221207174918.GA1151796@roeck-us.net/
  [2]: https://lore.kernel.org/qemu-devel/20221209110022.GA3396194@roeck-us.net/

v4:
 - screwed up the rebase (Philippe)

v3:
 - add patch to fix big-endian platforms

v2:
 - use QOM accessor (Philippe)
 - added some cleanup patches in front

Klaus Jensen (4):
  hw/nvme: use QOM accessors
  hw/nvme: rename shadow doorbell related trace events
  hw/nvme: fix missing endian conversions for doorbell buffers
  hw/nvme: fix missing cq eventidx update

 hw/nvme/ctrl.c       | 121 ++++++++++++++++++++++++++-----------------
 hw/nvme/trace-events |   8 +--
 2 files changed, 78 insertions(+), 51 deletions(-)

-- 
2.38.1
Re: [PATCH v4 0/4] hw/nvme: fix broken shadow doorbells on some platforms
Posted by Klaus Jensen 1 year, 3 months ago
On Dec 12 12:44, Klaus Jensen wrote:
> From: Klaus Jensen <k.jensen@samsung.com>
> 
> Guenter reports that hw/nvme is broken on riscv64[1] and big endian
> platforms[2].
> 
> This is a regression since 7.1, so this does not warrent an rc5 for 7.2.
> I'm sure Guenter can carry this patch in his tree, and maybe we can get
> this out in a stable release.
> 
> On riscv, the issue is a missing cq eventidx update. I really wonder why
> this issue only shows up on riscv64. We have not observed this on other
> platforms (yet).
> 
> Further, Guenter also reported problems on big-endian platforms. The
> issue here is missing endian conversions which patch 3 addresses. This
> also requires a fix for the Linux kernel that I am posting separately
> (can't link to it, chicken and egg problem).
> 
>   [1]: https://lore.kernel.org/qemu-devel/20221207174918.GA1151796@roeck-us.net/
>   [2]: https://lore.kernel.org/qemu-devel/20221209110022.GA3396194@roeck-us.net/
> 
> v4:
>  - screwed up the rebase (Philippe)
> 
> v3:
>  - add patch to fix big-endian platforms
> 
> v2:
>  - use QOM accessor (Philippe)
>  - added some cleanup patches in front
> 
> Klaus Jensen (4):
>   hw/nvme: use QOM accessors
>   hw/nvme: rename shadow doorbell related trace events
>   hw/nvme: fix missing endian conversions for doorbell buffers
>   hw/nvme: fix missing cq eventidx update
> 
>  hw/nvme/ctrl.c       | 121 ++++++++++++++++++++++++++-----------------
>  hw/nvme/trace-events |   8 +--
>  2 files changed, 78 insertions(+), 51 deletions(-)
> 
> -- 
> 2.38.1
> 

Applied to nvme-next. Thansk for the reviews!