This set of patches fixes the problem where DPDK applications
using hv_uio_generic driver can not be successfully restarted.

In order to get this working it required small change to uio
to allow for mapping without no-cache. And refactoring of how
ring buffer is setup in vmbus code.

It could be backported as a fix, to 4.19 but that is not
an LTS so probably not worth it.

v2 - add refcount unwind in hv_uio_generic open in case of error

Stephen Hemminger (6):
  vmbus: pass channel to hv_process_channel_removal
  vmbus: keep pointer to ring buffer page
  vmbus: split ring buffer allocation from open
  uio: introduce UIO_MEM_IOVA
  hv_uio_generic: map ringbuffer phys addr
  uio_hv_generic: defer opening vmbus until first use

 drivers/hv/channel.c         | 276 ++++++++++++++++++++---------------
 drivers/hv/channel_mgmt.c    |  17 +--
 drivers/hv/ring_buffer.c     |   1 +
 drivers/hv/vmbus_drv.c       |   3 +-
 drivers/uio/uio.c            |  24 +--
 drivers/uio/uio_hv_generic.c | 109 ++++++++++----
 include/linux/hyperv.h       |  13 +-
 include/linux/uio_driver.h   |   1 +
 8 files changed, 264 insertions(+), 180 deletions(-)

-- 
2.18.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to