All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Durrant <paul.durrant@citrix.com>
To: xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
	qemu-devel@nongnu.org
Cc: Paul Durrant <paul.durrant@citrix.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Gerd Hoffmann <kraxel@redhat.com>, Greg Kurz <groug@kaod.org>,
	Jason Wang <jasowang@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
	Max Reitz <mreitz@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [Qemu-devel] [PATCH v2 0/8] xen_disk: legacy code removal and cleanup
Date: Fri, 4 May 2018 14:55:26 +0100	[thread overview]
Message-ID: <1525442134-20488-1-git-send-email-paul.durrant@citrix.com> (raw)

The grant copy operation was added to libxengnttab in Xen 4.8.0 (released
nearly 18 months ago) but the xen_disk PV backend QEMU is still carrying
a significant amount of code purely to remain compatible with older
versions of Xen.

As can be inferred from the diff stats below, removing this support for
older versions of Xen from QEMU reduces the size of the xen_disk source by
around 320 lines (~25%).

Version 2 of this series maintains compatibility with older Xen, and OS
not supporting the grant copy operation, by adding an emulation of it
into the xen_backend code. Thus xen_disk can be simplified without
regressing support for any environment. This version also performs
general cleanup of the code by introducing and consistently using
helper functions for calling into libxenttab.

Paul Durrant (8):
  xen_backend: add grant table helpers
  xen_disk: remove open-coded use of libxengnttab
  xen: remove other open-coded use of libxengnttab
  xen_backend: add an emulation of grant copy
  xen_disk: remove use of grant map/unmap
  xen_backend: make the xen_feature_grant_copy flag private
  xen_disk: use a single entry iovec
  xen_disk: be consistent with use of xendev and blkdev->xendev

 hw/9pfs/xen-9p-backend.c     |  32 ++-
 hw/block/xen_disk.c          | 609 +++++++------------------------------------
 hw/char/xen_console.c        |   9 +-
 hw/net/xen_nic.c             |  34 ++-
 hw/usb/xen-usb.c             |  37 ++-
 hw/xen/xen_backend.c         | 178 ++++++++++++-
 include/hw/xen/xen_backend.h |  34 ++-
 7 files changed, 348 insertions(+), 585 deletions(-)
---
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Greg Kurz <groug@kaod.org>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>

-- 
2.1.4

WARNING: multiple messages have this Message-ID (diff)
From: Paul Durrant <paul.durrant@citrix.com>
To: xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
	qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Jason Wang <jasowang@redhat.com>, Greg Kurz <groug@kaod.org>,
	Max Reitz <mreitz@redhat.com>,
	Paul Durrant <paul.durrant@citrix.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: [PATCH v2 0/8] xen_disk: legacy code removal and cleanup
Date: Fri, 4 May 2018 14:55:26 +0100	[thread overview]
Message-ID: <1525442134-20488-1-git-send-email-paul.durrant@citrix.com> (raw)

The grant copy operation was added to libxengnttab in Xen 4.8.0 (released
nearly 18 months ago) but the xen_disk PV backend QEMU is still carrying
a significant amount of code purely to remain compatible with older
versions of Xen.

As can be inferred from the diff stats below, removing this support for
older versions of Xen from QEMU reduces the size of the xen_disk source by
around 320 lines (~25%).

Version 2 of this series maintains compatibility with older Xen, and OS
not supporting the grant copy operation, by adding an emulation of it
into the xen_backend code. Thus xen_disk can be simplified without
regressing support for any environment. This version also performs
general cleanup of the code by introducing and consistently using
helper functions for calling into libxenttab.

Paul Durrant (8):
  xen_backend: add grant table helpers
  xen_disk: remove open-coded use of libxengnttab
  xen: remove other open-coded use of libxengnttab
  xen_backend: add an emulation of grant copy
  xen_disk: remove use of grant map/unmap
  xen_backend: make the xen_feature_grant_copy flag private
  xen_disk: use a single entry iovec
  xen_disk: be consistent with use of xendev and blkdev->xendev

 hw/9pfs/xen-9p-backend.c     |  32 ++-
 hw/block/xen_disk.c          | 609 +++++++------------------------------------
 hw/char/xen_console.c        |   9 +-
 hw/net/xen_nic.c             |  34 ++-
 hw/usb/xen-usb.c             |  37 ++-
 hw/xen/xen_backend.c         | 178 ++++++++++++-
 include/hw/xen/xen_backend.h |  34 ++-
 7 files changed, 348 insertions(+), 585 deletions(-)
---
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Greg Kurz <groug@kaod.org>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>

-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

             reply	other threads:[~2018-05-04 13:55 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-04 13:55 Paul Durrant [this message]
2018-05-04 13:55 ` [PATCH v2 0/8] xen_disk: legacy code removal and cleanup Paul Durrant
2018-05-04 13:55 ` [Qemu-devel] [PATCH v2 1/8] xen_backend: add grant table helpers Paul Durrant
2018-05-04 13:55   ` Paul Durrant
2018-05-04 13:55 ` [Qemu-devel] [PATCH v2 2/8] xen_disk: remove open-coded use of libxengnttab Paul Durrant
2018-05-04 13:55 ` Paul Durrant
2018-05-04 13:55 ` [Qemu-devel] [PATCH v2 3/8] xen: remove other " Paul Durrant
2018-05-04 13:55   ` Paul Durrant
2018-05-04 13:55 ` [Qemu-devel] [PATCH v2 4/8] xen_backend: add an emulation of grant copy Paul Durrant
2018-05-04 13:55   ` Paul Durrant
2018-05-04 13:55 ` [Qemu-devel] [PATCH v2 5/8] xen_disk: remove use of grant map/unmap Paul Durrant
2018-05-04 13:55   ` Paul Durrant
2018-05-04 13:55 ` [Qemu-devel] [PATCH v2 6/8] xen_backend: make the xen_feature_grant_copy flag private Paul Durrant
2018-05-04 13:55   ` Paul Durrant
2018-05-04 13:55 ` [Qemu-devel] [PATCH v2 7/8] xen_disk: use a single entry iovec Paul Durrant
2018-05-04 13:55   ` Paul Durrant
2018-05-04 15:21   ` [Qemu-devel] " Paul Durrant
2018-05-04 15:21   ` Paul Durrant
2018-05-04 13:55 ` [Qemu-devel] [PATCH v2 8/8] xen_disk: be consistent with use of xendev and blkdev->xendev Paul Durrant
2018-05-04 13:55   ` Paul Durrant

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1525442134-20488-1-git-send-email-paul.durrant@citrix.com \
    --to=paul.durrant@citrix.com \
    --cc=anthony.perard@citrix.com \
    --cc=groug@kaod.org \
    --cc=jasowang@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.