Message ID | 20220505081640.17425-1-jgross@suse.com (mailing list archive) |
---|---|
Headers | show |
Series | xen: simplify frontend side ring setup | expand |
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 <boris.ostrovsky@oracle.com>
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 <oleksandr_tyshchenko@epam.com> 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 <oleksandr_tyshchenko@epam.com> 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(-) >