Re: [PATCH v3 00/21] xen: simplify frontend side ring setup

2022-05-09 Thread Oleksandr



On 05.05.22 11:16, Juergen Gross wrote:

Hello Juergen.




Many Xen PV frontends share similar code for setting up a ring page
(allocating and granting access for the backend) and for tearing it
down.

Create new service functions doing all needed steps in one go.

This requires all frontends to use a common value for an invalid
grant reference in order to make the functions idempotent.

Changes in V3:
- new patches 1 and 2, comments addressed

Changes in V2:
- new patch 9 and related changes in patches 10-18

Juergen Gross (21):
   xen: update grant_table.h
   xen/grant-table: never put a reserved grant on the free list
   xen/blkfront: switch blkfront to use INVALID_GRANT_REF
   xen/netfront: switch netfront to use INVALID_GRANT_REF
   xen/scsifront: remove unused GRANT_INVALID_REF definition
   xen/usb: switch xen-hcd to use INVALID_GRANT_REF
   xen/drm: switch xen_drm_front to use INVALID_GRANT_REF
   xen/sound: switch xen_snd_front to use INVALID_GRANT_REF
   xen/dmabuf: switch gntdev-dmabuf to use INVALID_GRANT_REF
   xen/shbuf: switch xen-front-pgdir-shbuf to use INVALID_GRANT_REF
   xen: update ring.h
   xen/xenbus: add xenbus_setup_ring() service function
   xen/blkfront: use xenbus_setup_ring() and xenbus_teardown_ring()
   xen/netfront: use xenbus_setup_ring() and xenbus_teardown_ring()
   xen/tpmfront: use xenbus_setup_ring() and xenbus_teardown_ring()
   xen/drmfront: use xenbus_setup_ring() and xenbus_teardown_ring()
   xen/pcifront: use xenbus_setup_ring() and xenbus_teardown_ring()
   xen/scsifront: use xenbus_setup_ring() and xenbus_teardown_ring()
   xen/usbfront: use xenbus_setup_ring() and xenbus_teardown_ring()
   xen/sndfront: use xenbus_setup_ring() and xenbus_teardown_ring()
   xen/xenbus: eliminate xenbus_grant_ring()



For the patches that touch PV display (#07, #16), PV sound (#08, #20) 
and shared buffer framework used by both frontends (#10):


Reviewed-by: Oleksandr Tyshchenko 


Also I didn't see any issues with these frontends while testing on Arm64 
based board.

So, you can also add:

[Arm64 only]
Tested-by: Oleksandr Tyshchenko 


Thanks!




  drivers/block/xen-blkfront.c|  57 +++
  drivers/char/tpm/xen-tpmfront.c |  18 +--
  drivers/gpu/drm/xen/xen_drm_front.h |   9 --
  drivers/gpu/drm/xen/xen_drm_front_evtchnl.c |  43 ++
  drivers/net/xen-netfront.c  |  85 ---
  drivers/pci/xen-pcifront.c  |  19 +--
  drivers/scsi/xen-scsifront.c|  31 +---
  drivers/usb/host/xen-hcd.c  |  65 ++--
  drivers/xen/gntdev-dmabuf.c |  13 +-
  drivers/xen/grant-table.c   |  12 +-
  drivers/xen/xen-front-pgdir-shbuf.c |  18 +--
  drivers/xen/xenbus/xenbus_client.c  |  82 +++---
  include/xen/grant_table.h   |   2 -
  include/xen/interface/grant_table.h | 161 
  include/xen/interface/io/ring.h |  19 ++-
  include/xen/xenbus.h|   4 +-
  sound/xen/xen_snd_front_evtchnl.c   |  44 ++
  sound/xen/xen_snd_front_evtchnl.h   |   9 --
  18 files changed, 287 insertions(+), 404 deletions(-)


--
Regards,

Oleksandr Tyshchenko




Re: [PATCH v3 00/21] xen: simplify frontend side ring setup

2022-05-05 Thread Boris Ostrovsky



On 5/5/22 4:16 AM, Juergen Gross wrote:

Many Xen PV frontends share similar code for setting up a ring page
(allocating and granting access for the backend) and for tearing it
down.

Create new service functions doing all needed steps in one go.

This requires all frontends to use a common value for an invalid
grant reference in order to make the functions idempotent.

Changes in V3:
- new patches 1 and 2, comments addressed

Changes in V2:
- new patch 9 and related changes in patches 10-18



For the patches that I was explicitly copied on:


Reviewed-by: Boris Ostrovsky 




[PATCH v3 00/21] xen: simplify frontend side ring setup

2022-05-05 Thread Juergen Gross
Many Xen PV frontends share similar code for setting up a ring page
(allocating and granting access for the backend) and for tearing it
down.

Create new service functions doing all needed steps in one go.

This requires all frontends to use a common value for an invalid
grant reference in order to make the functions idempotent.

Changes in V3:
- new patches 1 and 2, comments addressed

Changes in V2:
- new patch 9 and related changes in patches 10-18

Juergen Gross (21):
  xen: update grant_table.h
  xen/grant-table: never put a reserved grant on the free list
  xen/blkfront: switch blkfront to use INVALID_GRANT_REF
  xen/netfront: switch netfront to use INVALID_GRANT_REF
  xen/scsifront: remove unused GRANT_INVALID_REF definition
  xen/usb: switch xen-hcd to use INVALID_GRANT_REF
  xen/drm: switch xen_drm_front to use INVALID_GRANT_REF
  xen/sound: switch xen_snd_front to use INVALID_GRANT_REF
  xen/dmabuf: switch gntdev-dmabuf to use INVALID_GRANT_REF
  xen/shbuf: switch xen-front-pgdir-shbuf to use INVALID_GRANT_REF
  xen: update ring.h
  xen/xenbus: add xenbus_setup_ring() service function
  xen/blkfront: use xenbus_setup_ring() and xenbus_teardown_ring()
  xen/netfront: use xenbus_setup_ring() and xenbus_teardown_ring()
  xen/tpmfront: use xenbus_setup_ring() and xenbus_teardown_ring()
  xen/drmfront: use xenbus_setup_ring() and xenbus_teardown_ring()
  xen/pcifront: use xenbus_setup_ring() and xenbus_teardown_ring()
  xen/scsifront: use xenbus_setup_ring() and xenbus_teardown_ring()
  xen/usbfront: use xenbus_setup_ring() and xenbus_teardown_ring()
  xen/sndfront: use xenbus_setup_ring() and xenbus_teardown_ring()
  xen/xenbus: eliminate xenbus_grant_ring()

 drivers/block/xen-blkfront.c|  57 +++
 drivers/char/tpm/xen-tpmfront.c |  18 +--
 drivers/gpu/drm/xen/xen_drm_front.h |   9 --
 drivers/gpu/drm/xen/xen_drm_front_evtchnl.c |  43 ++
 drivers/net/xen-netfront.c  |  85 ---
 drivers/pci/xen-pcifront.c  |  19 +--
 drivers/scsi/xen-scsifront.c|  31 +---
 drivers/usb/host/xen-hcd.c  |  65 ++--
 drivers/xen/gntdev-dmabuf.c |  13 +-
 drivers/xen/grant-table.c   |  12 +-
 drivers/xen/xen-front-pgdir-shbuf.c |  18 +--
 drivers/xen/xenbus/xenbus_client.c  |  82 +++---
 include/xen/grant_table.h   |   2 -
 include/xen/interface/grant_table.h | 161 
 include/xen/interface/io/ring.h |  19 ++-
 include/xen/xenbus.h|   4 +-
 sound/xen/xen_snd_front_evtchnl.c   |  44 ++
 sound/xen/xen_snd_front_evtchnl.h   |   9 --
 18 files changed, 287 insertions(+), 404 deletions(-)

-- 
2.35.3