[RFC v3 0/2] virtio-pmem: Asynchronous flush

From: Pankaj Gupta
Date: Tue Jan 11 2022 - 11:20:03 EST


Jeff reported preflush order issue with the existing implementation
of virtio pmem preflush. Dan suggested[1] to implement asynchronous flush
for virtio pmem using work queue as done in md/RAID. This patch series
intends to solve the preflush ordering issue and makes the flush asynchronous
for the submitting thread. Also, adds the flush coalscing logic.

Submitting this RFC v3 series for review. Thank You!

RFC v2 -> RFC v3
- Improve commit log message - patch1.
- Improve return error handling for Async flush.
- declare'INIT_WORK' only once.
- More testing and bug fix.

[1] https://marc.info/?l=linux-kernel&m=157446316409937&w=2

Pankaj Gupta (2):
virtio-pmem: Async virtio-pmem flush
pmem: enable pmem_submit_bio for asynchronous flush

drivers/nvdimm/nd_virtio.c | 74 +++++++++++++++++++++++++++---------
drivers/nvdimm/pmem.c | 15 ++++++--
drivers/nvdimm/region_devs.c | 4 +-
drivers/nvdimm/virtio_pmem.c | 10 +++++
drivers/nvdimm/virtio_pmem.h | 16 ++++++++
5 files changed, 98 insertions(+), 21 deletions(-)

--
2.25.1