[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/16] hw/block/nvme: dma handling and address mapping cleanup
From: |
Klaus Jensen |
Subject: |
[PATCH v2 00/16] hw/block/nvme: dma handling and address mapping cleanup |
Date: |
Thu, 30 Jul 2020 00:06:22 +0200 |
From: Klaus Jensen <k.jensen@samsung.com>
This series consists of patches that refactors dma read/write and adds a
number of address mapping helper functions.
v2:
* hw/block/nvme: add mapping helpers
- Add an assert in case of out of bounds array access. (Maxim)
* hw/block/nvme: remove redundant has_sg member
- Split the fix for the missing qemu_iov_destroy into a fresh patch
("hw/block/nvme: destroy request iov before reuse"). (Minwoo)
* hw/block/nvme: pass request along for tracing [DROPPED]
- Dropped the patch and replaced it with a simple patch that just adds
tracing to the nvme_map_prp function ("hw/block/nvme: add tracing to
nvme_map_prp"). (Minwoo)
* hw/block/nvme: add request mapping helper
- Changed the name from nvme_map to nvme_map_dptr. (Minwoo, Maxim)
* hw/block/nvme: add check for mdts
- Don't touch the documentaiton for the cmb_size_mb and max_ioqpairs
parameters in this patch. (Minwoo)
* hw/block/nvme: refactor NvmeRequest clearing [DROPPED]
- Keep NvmeRequest structure clearing as "before use". (Maxim)
* hw/block/nvme: add a namespace reference in NvmeRequest
* hw/block/nvme: remove NvmeCmd parameter
- Squash these two patches together into "hw/block/nvme: add ns/cmd
references in NvmeRequest".
* hw/block/nvme: consolidate qsg/iov clearing
- Move the qsg/iov destroys to a new nvme_req_exit function that is called
after the cqe has been posted.
* hw/block/nvme: remove explicit qsg/iov parameters
- New patch. THe nvme_map_prp() function doesn't require the qsg and iov
parameters since it can just get them from the passed NvmeRequest.
Based-on: <20200706061303.246057-1-its@irrelevant.dk>
Klaus Jensen (16):
hw/block/nvme: memset preallocated requests structures
hw/block/nvme: add mapping helpers
hw/block/nvme: replace dma_acct with blk_acct equivalent
hw/block/nvme: remove redundant has_sg member
hw/block/nvme: destroy request iov before reuse
hw/block/nvme: refactor dma read/write
hw/block/nvme: add tracing to nvme_map_prp
hw/block/nvme: add request mapping helper
hw/block/nvme: verify validity of prp lists in the cmb
hw/block/nvme: refactor request bounds checking
hw/block/nvme: add check for mdts
hw/block/nvme: be consistent about zeros vs zeroes
hw/block/nvme: add ns/cmd references in NvmeRequest
hw/block/nvme: consolidate qsg/iov clearing
hw/block/nvme: use preallocated qsg/iov in nvme_dma_prp
hw/block/nvme: remove explicit qsg/iov parameters
block/nvme.c | 4 +-
hw/block/nvme.c | 506 +++++++++++++++++++++++++++---------------
hw/block/nvme.h | 4 +-
hw/block/trace-events | 4 +
include/block/nvme.h | 4 +-
5 files changed, 340 insertions(+), 182 deletions(-)
--
2.27.0
- [PATCH v2 00/16] hw/block/nvme: dma handling and address mapping cleanup,
Klaus Jensen <=
- [PATCH v2 02/16] hw/block/nvme: add mapping helpers, Klaus Jensen, 2020/07/29
- [PATCH v2 01/16] hw/block/nvme: memset preallocated requests structures, Klaus Jensen, 2020/07/29
- [PATCH v2 03/16] hw/block/nvme: replace dma_acct with blk_acct equivalent, Klaus Jensen, 2020/07/29
- [PATCH v2 05/16] hw/block/nvme: destroy request iov before reuse, Klaus Jensen, 2020/07/29
- [PATCH v2 04/16] hw/block/nvme: remove redundant has_sg member, Klaus Jensen, 2020/07/29