xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Hongyang Yang <yanghy@cn.fujitsu.com>
To: xen-devel@lists.xen.org
Cc: ian.campbell@citrix.com, wency@cn.fujitsu.com,
	andrew.cooper3@citrix.com, yunhong.jiang@intel.com,
	eddie.dong@intel.com, rshriram@cs.ubc.ca,
	ian.jackson@eu.citrix.com, laijs@cn.fujitsu.com
Subject: Re: [PATCH v18 00/11] Remus/Libxl: Remus network buffering and drbd disk
Date: Thu, 7 Aug 2014 09:17:09 +0800	[thread overview]
Message-ID: <53E2D395.20403@cn.fujitsu.com> (raw)
In-Reply-To: <1406539445-12708-1-git-send-email-yanghy@cn.fujitsu.com>

Ping!

在 07/28/2014 05:23 PM, Yang Hongyang 写道:
> This patch series adds support for network buffering and drbd disk
> in the Remus codebase in libxl.
>
> the code is also hosted on github:
> url: https://github.com/macrosheep/xen/tree/remus-v18
>
> Changes in v18:
>    Merge match() and setup() api.
>    Reuse libxl__multidev and libxl__ao_device.
>    Commit messages and code comments improved. Thanks to Shriram.
>    Rebased.
>
> Changes in v17:
>    Make remus device abstract layer more generic.
>    Addressed Ian J's comments.
>
> Changes in v16:
>    Merge libxl__remus_state and libxl__remus_device_state.
>    Pass the ops to device abstract layer instead of defined it in the layer.
>    Optimized subkind ops APIs.
>    Addressed Ian J's comments.
>    Rebased.
>
> Changes in v15:
>    The first patch in v14 has been taken, so remove it from the patchset.
>    Add a patch to Update maintained files of REMUS.
>    Rebased.
>
> Changes in v14:
>    Addressed IanJ's comments.
>    Rebased.
>
> Changes in v13:
>    Addressed Konrad's comments.
>    Rebased.
>
> Changes in v12:
>    Add disk buffering cmdline switch.
>
> Changes in v11:
>    Addressed comments from Ian J and Shriram.
>    Add drbd disk implement into this patch series.
>
> Changes in V10:
>    Restructured the whole patch series.
>    Introduce the remus device abstract layer.
>    Make remus checkpoint asynchronous.
>
> Changes in V9:
>    Use async exec script api to exec scripts.
>
> Changes in V8:
>    Applied some comments(by IanJ).
>    Merge some struct definitions to it's implementation.
>    (2/3/5 in V7 => 3 in V8)
>
> Changes in V7:
>    Applied missing comments(by IanJ).
>    Applied Shriram comments.
>
>    merge netbufering tangled setup/teardown code into one patch.
>    (2/6/8 in V6 => 5 in V7. 9/10 in V6 => 7 in V7)
>
> Changes in V6:
>    Applied Ian Jackson's comments of V5 series.
>    the [PATCH 2/4 V5] is split by small functionalities.
>
>    [PATCH 4/4 V5] --> [PATCH 13/13] netbuffer is default enabled.
>
> Changes in V5:
>
> Merge hotplug script patch (2/5) and hotplug script setup/teardown
> patch (3/5) into a single patch.
>
> Changes in V4:
>
> [1/5] Remove check for libnl command line utils in autoconf checks
>
> [2/5] minor nits
>
> [3/5] define LIBXL_HAVE_REMUS_NETBUF in libxl.h
>
> [4/5] clean ups. Make the usleep in checkpoint callback asynchronous
>
> [5/5] minor nits
>
> Changes in V3:
> [1/5] Fix redundant checks in configure scripts
>        (based on Ian Campbell's suggestions)
>
> [2/5] Introduce locking in the script, during IFB setup.
>        Add xenstore paths used by netbuf scripts
>        to xenstore-paths.markdown
>
> [3/5] Hotplug scripts setup/teardown invocations are now asynchronous
>        following IanJ's feedback.  However, the invocations are still
>        sequential.
>
> [5/5] Allow per-domain specification of netbuffer scripts in xl remus
>        commmand.
>
> And minor nits throughout the series based on feedback from
> the last version
>
> Changes in V2:
> [1/5] Configure script will automatically enable/disable network
>        buffer support depending on the availability of the appropriate
>        libnl3 version. [If libnl3 is unavailable, a warning message will be
>        printed to let the user know that the feature has been disabled.]
>
>        use macros from pkg.m4 instead of pkg-config commands
>        removed redundant checks for libnl3 libraries.
>
> [3,4/5] - Minor nits.
>
> Version 1:
>
> [1/5] Changes to autoconf scripts to check for libnl3. Add linker flags
>        to libxl Makefile.
>
> [2/5] External script to setup/teardown network buffering using libnl3's
>        CLI. This script will be invoked by libxl before starting Remus.
>        The script's main job is to bring up an IFB device with plug qdisc
>        attached to it.  It then re-routes egress traffic from the guest's
>        vif to the IFB device.
>
> [3/5] Libxl code to invoke the external setup script, followed by netlink
>        related setup to obtain a handle on the output buffers attached
>        to each vif.
>
> [4/5] Libxl interaction with network buffer module in the kernel via
>        libnl3 API.
>
> [5/5] xl cmdline switch to explicitly enable network buffering when
>        starting remus.
>
>
>    Few things to note(by shriram):
>
>      a) Based on previous email discussions, the setup/teardown task has
>      been moved to a hotplug style shell script which can be customized as
>      desired, instead of implementing it as C code inside libxl.
>
>      b) Libnl3 is not available on NetBSD. Nor is it available on CentOS
>     (Linux).  So I have made network buffering support an optional feature
>     so that it can be disabled if desired.
>
>     c) NetBSD does not have libnl3. So I have put the setup script under
>     tools/hotplug/Linux folder.
>
> thanks
>
> Legend:
>    A - acked
>    D - previous acked, but new change introduced so acked-by dropped
>    M - Modified
>    S - the same version as last round
>    No marker - new patch
>
> Yang Hongyang (11):
>      libxl: introduce libxl__multidev_prepare_with_aodev
>      libxl: add support for async. function calls when using
>        libxl__ao_device
>    A autoconf: add libnl3 dependency for Remus network buffering support
>    M libxl/remus: introduce an abstract Remus device layer
>    M libxl/remus: setup and control network output buffering
>    M libxl/remus: setup and control disk replication for DRBD backends
>      xl/remus: cmdline switch to explicitly enable unsafe configurations
>    M xl/remus: cmdline switches and config vars to control network
>        buffering
>    M xl/remus: add a cmdline switch to disable disk replication
>    S libxl/remus: add LIBXL_HAVE_REMUS to indicate Remus support in libxl
>    M MAINTAINERS: update maintained files of Remus
>
>   MAINTAINERS                            |   7 +
>   README                                 |   4 +
>   config/Tools.mk.in                     |   4 +
>   docs/README.remus                      |   6 +
>   docs/man/xl.conf.pod.5                 |   6 +
>   docs/man/xl.pod.1                      |  30 +-
>   docs/misc/xenstore-paths.markdown      |   4 +
>   tools/configure.ac                     |  16 +
>   tools/hotplug/Linux/Makefile           |   2 +
>   tools/hotplug/Linux/block-drbd-probe   |  85 ++++++
>   tools/hotplug/Linux/remus-netbuf-setup | 237 +++++++++++++++
>   tools/libxl/Makefile                   |  15 +
>   tools/libxl/libxl.c                    |  65 +++-
>   tools/libxl/libxl.h                    |   6 +
>   tools/libxl/libxl_device.c             |  14 +-
>   tools/libxl/libxl_dom.c                | 172 ++++++++++-
>   tools/libxl/libxl_internal.h           | 204 ++++++++++++-
>   tools/libxl/libxl_netbuffer.c          | 521 +++++++++++++++++++++++++++++++++
>   tools/libxl/libxl_nonetbuffer.c        |  56 ++++
>   tools/libxl/libxl_remus_device.c       | 302 +++++++++++++++++++
>   tools/libxl/libxl_remus_disk_drbd.c    | 260 ++++++++++++++++
>   tools/libxl/libxl_types.idl            |   6 +
>   tools/libxl/xl.c                       |   4 +
>   tools/libxl/xl.h                       |   1 +
>   tools/libxl/xl_cmdimpl.c               |  43 ++-
>   tools/libxl/xl_cmdtable.c              |  11 +-
>   26 files changed, 2042 insertions(+), 39 deletions(-)
>   create mode 100755 tools/hotplug/Linux/block-drbd-probe
>   create mode 100644 tools/hotplug/Linux/remus-netbuf-setup
>   create mode 100644 tools/libxl/libxl_netbuffer.c
>   create mode 100644 tools/libxl/libxl_nonetbuffer.c
>   create mode 100644 tools/libxl/libxl_remus_device.c
>   create mode 100644 tools/libxl/libxl_remus_disk_drbd.c
>

-- 
Thanks,
Yang.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

      parent reply	other threads:[~2014-08-07  1:17 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-28  9:23 [PATCH v18 00/11] Remus/Libxl: Remus network buffering and drbd disk Yang Hongyang
2014-07-28  9:23 ` [PATCH v18 01/11] libxl: introduce libxl__multidev_prepare_with_aodev Yang Hongyang
2014-07-29 17:21   ` Ian Jackson
2014-07-28  9:23 ` [PATCH v18 02/11] libxl: add support for async. function calls when using libxl__ao_device Yang Hongyang
2014-07-29 17:24   ` Ian Jackson
2014-07-30  8:45     ` Hongyang Yang
2014-07-28  9:23 ` [PATCH v18 03/11] autoconf: add libnl3 dependency for Remus network buffering support Yang Hongyang
2014-07-28  9:23 ` [PATCH v18 04/11] libxl/remus: introduce an abstract Remus device layer Yang Hongyang
2014-08-07 18:30   ` Ian Jackson
2014-08-27  1:46     ` Hongyang Yang
2014-08-27  2:21       ` Ian Jackson
2014-08-27  2:27         ` Hongyang Yang
2014-07-28  9:23 ` [PATCH v18 05/11] libxl/remus: setup and control network output buffering Yang Hongyang
2014-07-28  9:24 ` [PATCH v18 06/11] libxl/remus: setup and control disk replication for DRBD backends Yang Hongyang
2014-07-28  9:24 ` [PATCH v18 07/11] xl/remus: cmdline switch to explicitly enable unsafe configurations Yang Hongyang
2014-07-28  9:24 ` [PATCH v18 08/11] xl/remus: cmdline switches and config vars to control network buffering Yang Hongyang
2014-07-28  9:24 ` [PATCH v18 09/11] xl/remus: add a cmdline switch to disable disk replication Yang Hongyang
2014-07-28  9:24 ` [PATCH v18 10/11] libxl/remus: add LIBXL_HAVE_REMUS to indicate Remus support in libxl Yang Hongyang
2014-07-28  9:24 ` [PATCH v18 11/11] MAINTAINERS: update maintained files of Remus Yang Hongyang
2014-08-07  1:17 ` Hongyang Yang [this message]

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=53E2D395.20403@cn.fujitsu.com \
    --to=yanghy@cn.fujitsu.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=eddie.dong@intel.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=rshriram@cs.ubc.ca \
    --cc=wency@cn.fujitsu.com \
    --cc=xen-devel@lists.xen.org \
    --cc=yunhong.jiang@intel.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).