From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: xen-devel@lists.xen.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>,
Ian Campbell <ian.campbell@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [PATCH 0 of 7 V4] Remus/Libxl: Network buffering support
Date: Thu, 14 Nov 2013 21:47:45 -0800 [thread overview]
Message-ID: <patchbomb.1384494465@athos.nss.cs.ubc.ca> (raw)
This patch series adds support for network buffering in the Remus
codebase in libxl and makes the suspend callback asynchronous.
I have tested the series with PV guests (with and without suspend
event channel). Would appreciate if anyone could test the series
with PV-HVM guests and pure HVM guests.
Changes in V4:
[1/7] *new*. This Ian Jackson's patch -- making
libxl__domain_suspend_callback asynchronous
[2/7] [was 1/5 in previous versions] Remove check for libnl
command line utils
[3/7] [was 2/5 previously] minor nits
[4/7] [was 3/5 previously] define LIBXL_HAVE_REMUS_NETBUF
in libxl.h
[5/7] [was 4/5 previously] clean ups. Make the usleep in checkpoint
callback asynchronous
[6/7] [was 5/5 previously] minor nits
[7/7] *new*. Refactor libxl__domain_suspend_common_callback to
substitute usleep based wait loops with libxl's timer events.
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:
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
shriram
next reply other threads:[~2013-11-15 5:47 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-15 5:47 Shriram Rajagopalan [this message]
2013-11-15 5:47 ` [PATCH 1 of 7 V4] [PATCH] libxl: make libxl__domain_suspend_callback be asynchronous Shriram Rajagopalan
2013-11-15 5:47 ` [PATCH 2 of 7 V4] remus: add libnl3 dependency to autoconf scripts Shriram Rajagopalan
2013-11-18 16:31 ` Ian Jackson
2013-11-15 5:47 ` [PATCH 3 of 7 V4] tools/hotplug: Remus network buffering setup scripts Shriram Rajagopalan
2013-11-18 16:34 ` Ian Jackson
2013-11-15 5:47 ` [PATCH 4 of 7 V4] tools/libxl: setup/teardown Remus network buffering Shriram Rajagopalan
2013-11-15 5:47 ` [PATCH 5 of 7 V4] tools/libxl: Control network buffering in remus callbacks Shriram Rajagopalan
2013-11-15 5:47 ` [PATCH 6 of 7 V4] tools/xl: Remus - Network buffering cmdline switch Shriram Rajagopalan
2013-11-15 5:47 ` [PATCH 7 of 7 V4] tools/libxl: refactor domain_suspend_callback code to be fully asynchronous Shriram Rajagopalan
2013-11-15 18:27 ` Shriram Rajagopalan
2013-11-18 17:36 ` Shriram Rajagopalan
2013-11-18 17:45 ` Ian Jackson
2013-11-18 17:55 ` Shriram Rajagopalan
2013-11-18 17:49 ` Ian Jackson
2013-11-18 17:52 ` Shriram Rajagopalan
2013-11-18 13:13 ` [PATCH 0 of 7 V4] Remus/Libxl: Network buffering support Shriram Rajagopalan
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=patchbomb.1384494465@athos.nss.cs.ubc.ca \
--to=rshriram@cs.ubc.ca \
--cc=andrew.cooper3@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xen.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 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).