All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/16] hw/block/nvme: dma handling and address mapping cleanup
@ 2020-07-29 22:06 Klaus Jensen
  2020-07-29 22:06 ` [PATCH v2 01/16] hw/block/nvme: memset preallocated requests structures Klaus Jensen
                   ` (16 more replies)
  0 siblings, 17 replies; 33+ messages in thread
From: Klaus Jensen @ 2020-07-29 22:06 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen, Maxim Levitsky,
	Klaus Jensen, Andrzej Jakowski, Minwoo Im, Keith Busch,
	Max Reitz

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



^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2020-08-17  6:46 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-29 22:06 [PATCH v2 00/16] hw/block/nvme: dma handling and address mapping cleanup Klaus Jensen
2020-07-29 22:06 ` [PATCH v2 01/16] hw/block/nvme: memset preallocated requests structures Klaus Jensen
2020-07-30 10:14   ` Minwoo Im
2020-07-29 22:06 ` [PATCH v2 02/16] hw/block/nvme: add mapping helpers Klaus Jensen
2020-07-29 22:06 ` [PATCH v2 03/16] hw/block/nvme: replace dma_acct with blk_acct equivalent Klaus Jensen
2020-07-29 22:06 ` [PATCH v2 04/16] hw/block/nvme: remove redundant has_sg member Klaus Jensen
2020-07-30 10:15   ` Minwoo Im
2020-07-30 10:43   ` Maxim Levitsky
2020-07-29 22:06 ` [PATCH v2 05/16] hw/block/nvme: destroy request iov before reuse Klaus Jensen
2020-07-30 10:16   ` Minwoo Im
2020-07-30 10:43   ` Maxim Levitsky
2020-07-29 22:06 ` [PATCH v2 06/16] hw/block/nvme: refactor dma read/write Klaus Jensen
2020-07-29 22:06 ` [PATCH v2 07/16] hw/block/nvme: add tracing to nvme_map_prp Klaus Jensen
2020-07-30 10:17   ` Minwoo Im
2020-07-30 10:45   ` Maxim Levitsky
2020-07-29 22:06 ` [PATCH v2 08/16] hw/block/nvme: add request mapping helper Klaus Jensen
2020-07-30 10:19   ` Minwoo Im
2020-07-29 22:06 ` [PATCH v2 09/16] hw/block/nvme: verify validity of prp lists in the cmb Klaus Jensen
2020-07-29 22:06 ` [PATCH v2 10/16] hw/block/nvme: refactor request bounds checking Klaus Jensen
2020-07-29 22:06 ` [PATCH v2 11/16] hw/block/nvme: add check for mdts Klaus Jensen
2020-07-29 22:06 ` [PATCH v2 12/16] hw/block/nvme: be consistent about zeros vs zeroes Klaus Jensen
2020-07-29 22:06 ` [PATCH v2 13/16] hw/block/nvme: add ns/cmd references in NvmeRequest Klaus Jensen
2020-07-29 22:06 ` [PATCH v2 14/16] hw/block/nvme: consolidate qsg/iov clearing Klaus Jensen
2020-07-30 10:31   ` Minwoo Im
2020-07-30 11:02     ` Maxim Levitsky
2020-07-30 11:09     ` Klaus Jensen
2020-07-30 12:26       ` Minwoo Im
2020-07-29 22:06 ` [PATCH v2 15/16] hw/block/nvme: use preallocated qsg/iov in nvme_dma_prp Klaus Jensen
2020-07-30 10:29   ` Minwoo Im
2020-07-29 22:06 ` [PATCH v2 16/16] hw/block/nvme: remove explicit qsg/iov parameters Klaus Jensen
2020-07-30 10:30   ` Minwoo Im
2020-07-30 11:03   ` Maxim Levitsky
2020-08-17  6:45 ` [PATCH v2 00/16] hw/block/nvme: dma handling and address mapping cleanup Klaus Jensen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.