[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH for-4.5 v20 00/12] Remus/Libxl: Remus network buffering and drbd disk



On Thu, Sep 25, 2014 at 02:16:12PM +0800, Yang Hongyang wrote:
> 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-v20

I only had one question in regards to patch:
 [PATCH for-4.5 v20 07/12] xl/remus: change bool to defbool

Otherwise all the other patches that did not have an Review
from me look good (and as such I have replied with 'Reviewed-by'
on them).

All of those that had Ian's Ack on them, looked OK to me.
I didn't respond 'Acked-by' on them as I figured I would do 
it here.

Regardless of the #7 question I believe the patches can
go in 4.5 and can have 'Acked-by: Konrad Rzeszutek Wilk 
<konrad.wilk@xxxxxxxxxx>'
on them.

Thank you!
> 
> Changes in v20:
>   Rebased.
> 
> Changes in v19:
>   Use defbool for cmdline switch.
>   Restruct of subkind init and cleanup operation.
>   Use libxl__device_kind instead of libxl__remus_device_kind
>   Fix a layer violation issue pointed out by IanJ.
>   Other minor fixes.
>   Rebased to the latest staging tree.
> 
> 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,
> Yang.
> 
> 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 (12):
>   A libxl: introduce libxl__multidev_prepare_with_aodev
>   A libxl: Extend libxl__ao_device with a libxl__ev_child member
>   A autoconf: add libnl3 dependency for Remus network buffering support
>   S libxl/remus: introduce an abstract Remus device layer
>   A libxl/remus: setup and control network output buffering
>   A libxl/remus: setup and control disk replication for DRBD backends
>   S xl/remus: change bool to defbool
>   S xl/remus: cmdline switch to explicitly enable unsafe configurations
>   A xl/remus: cmdline switches and config vars to control network
>       buffering
>   A xl/remus: add a cmdline switch to disable disk replication
>   A libxl/remus: add LIBXL_HAVE_REMUS to indicate Remus support in libxl
>   S MAINTAINERS: update maintained files of Remus
> 
>  MAINTAINERS                            |   7 +
>  README                                 |   4 +
>  config/Tools.mk.in                     |   4 +
>  docs/README.remus                      |  16 +
>  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   |  87 ++++++
>  tools/hotplug/Linux/remus-netbuf-setup | 230 +++++++++++++++
>  tools/libxl/Makefile                   |  15 +
>  tools/libxl/libxl.c                    |  75 ++++-
>  tools/libxl/libxl.h                    |   6 +
>  tools/libxl/libxl_device.c             |  14 +-
>  tools/libxl/libxl_dom.c                | 170 ++++++++++-
>  tools/libxl/libxl_internal.h           | 195 ++++++++++++-
>  tools/libxl/libxl_netbuffer.c          | 517 
> +++++++++++++++++++++++++++++++++
>  tools/libxl/libxl_nonetbuffer.c        |  54 ++++
>  tools/libxl/libxl_remus_device.c       | 296 +++++++++++++++++++
>  tools/libxl/libxl_remus_disk_drbd.c    | 257 ++++++++++++++++
>  tools/libxl/libxl_types.idl            |  10 +-
>  tools/libxl/libxl_types_internal.idl   |   2 +
>  tools/libxl/xl.c                       |   4 +
>  tools/libxl/xl.h                       |   1 +
>  tools/libxl/xl_cmdimpl.c               |  42 ++-
>  tools/libxl/xl_cmdtable.c              |  11 +-
>  27 files changed, 2030 insertions(+), 45 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
> 
> -- 
> 1.9.1
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.