From: Hongyang Yang <yanghy@cn.fujitsu.com>
To: rshriram@cs.ubc.ca
Cc: "Ian Campbell" <ian.campbell@citrix.com>,
"Wen Congyang" <wency@cn.fujitsu.com>,
"Stefano Stabellini" <stefano.stabellini@eu.citrix.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Jiang Yunhong" <yunhong.jiang@intel.com>,
"Ian Jackson" <ian.jackson@eu.citrix.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
"Dong Eddie" <eddie.dong@intel.com>,
"Roger Pau Monné" <roger.pau@citrix.com>,
"Lai Jiangshan" <laijs@cn.fujitsu.com>
Subject: Re: [PATCH v10 4/5] remus: implement remus network buffering for nic devices
Date: Fri, 6 Jun 2014 09:59:47 +0800 [thread overview]
Message-ID: <53912093.6080901@cn.fujitsu.com> (raw)
In-Reply-To: <CAP8mzPPY3dDWSvwv4FzKg3S2xYbgkDQ+kUzMmBR-DWQ9pQY2mg@mail.gmail.com>
On 06/06/2014 12:50 AM, Shriram Rajagopalan wrote:
> On Wed, Jun 4, 2014 at 8:34 PM, Yang Hongyang <yanghy@cn.fujitsu.com
> <mailto:yanghy@cn.fujitsu.com>> wrote:
>
> 1.Add two members in libxl_domain_remus_info:
> netbuf: whether netbuf is enabled
> netbufscript: the path of the script which will be run to setup
> and tear down the guest's interface.
> 2.introduces remus-netbuf-setup hotplug script responsible for
> setting up and tearing down the necessary infrastructure required for
> network output buffering in Remus. This script is intended to be invoked
> by libxl for each guest interface, when starting or stopping Remus.
>
> Apart from returning success/failure indication via the usual hotplug
> entries in xenstore, this script also writes to xenstore, the name of
> the IFB device to be used to control the vif's network output.
>
> The script relies on libnl3 command line utilities to perform various
...snip...
> +
> +static void nic_postsuspend(libxl__remus_device *dev)
> +{
> + netbuf_epoch_op(dev, tc_buffer_start);
> +}
> +
> +static void nic_commit(libxl__remus_device *dev)
> +{
> + netbuf_epoch_op(dev, tc_buffer_release);
> +}
> +
>
>
> The async execution for each netlink call is an overkill. These rtnl calls complete
> in a matter of few microseconds utmost. On the other hand, this code structure,
> fork/execs a new process for every checkpoint just to execute a single library call
> (netbuf_epoch_op), which in turn issues just a syscall.
>
> Correct me if I am wrong. I am assuming that the libxl__ev_child_fork eventually
> leads to a fork() and exec() call.
>
> Per remus checkpoint
> 2 ops for netbuf, 2 for disk.
> 1 fork & exec per op for a total of 4 forks per checkpoint. (based on this
> patch and the drbd patch)
>
> At 25 checkpoints per second, you are looking at roughly a 100 fork/execs per
> second.
>
>
Hi Shriram, thanks for review, actually the remus checkpoint do fork, and exit
soon, assume the syscalls are quick.
>
--
Thanks,
Yang.
next prev parent reply other threads:[~2014-06-06 1:59 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-05 1:34 [PATCH v10 0/5] Remus netbuffer: Network buffering support Yang Hongyang
2014-06-05 1:34 ` [PATCH v10 1/5] libxl: introduce asynchronous execution API Yang Hongyang
2014-06-05 16:01 ` Ian Jackson
2014-06-05 1:34 ` [PATCH v10 2/5] remus: add libnl3 dependency for network buffering support Yang Hongyang
2014-06-05 16:18 ` Ian Jackson
2014-06-06 1:48 ` Hongyang Yang
2014-06-06 6:45 ` Shriram Rajagopalan
2014-06-06 10:07 ` Ian Campbell
2014-06-06 11:04 ` Ian Jackson
2014-06-05 1:34 ` [PATCH v10 3/5] remus: introduce remus device Yang Hongyang
2014-06-05 17:06 ` Ian Jackson
2014-06-06 1:54 ` Hongyang Yang
2014-06-09 2:08 ` Hongyang Yang
2014-06-05 1:34 ` [PATCH v10 4/5] remus: implement remus network buffering for nic devices Yang Hongyang
2014-06-05 16:50 ` Shriram Rajagopalan
2014-06-05 17:37 ` Ian Jackson
2014-06-05 17:44 ` Ian Jackson
2014-06-05 17:56 ` Shriram Rajagopalan
2014-06-06 2:08 ` Hongyang Yang
2014-06-06 1:59 ` Hongyang Yang [this message]
2014-06-05 17:24 ` Ian Jackson
2014-06-10 7:33 ` Hongyang Yang
2014-07-09 23:15 ` Ian Jackson
2014-07-10 1:38 ` Hongyang Yang
2014-06-05 1:34 ` [PATCH v10 5/5] libxl: network buffering cmdline switch Yang Hongyang
2014-06-05 1:39 ` [PATCH v10] remus drbd: Implement remus drbd replicated disk Yang Hongyang
2014-06-05 16:25 ` Shriram Rajagopalan
2014-06-05 17:41 ` Ian Jackson
2014-06-05 18:14 ` Shriram Rajagopalan
2014-06-05 18:26 ` Ian Jackson
2014-06-06 11:23 ` Ian Jackson
2014-06-06 5:38 ` Hongyang Yang
2014-06-06 7:12 ` Shriram Rajagopalan
2014-06-06 11:18 ` Ian Jackson
2014-06-06 2:21 ` Hongyang Yang
2014-06-05 17:30 ` [PATCH v10 5/5] libxl: network buffering cmdline switch Ian Jackson
2014-06-06 6:34 ` Hongyang Yang
2014-06-06 7:26 ` Shriram Rajagopalan
2014-06-06 11:13 ` Ian Jackson
2014-06-05 10:47 ` [PATCH v10 0/5] Remus netbuffer: Network buffering support George Dunlap
2014-06-06 2:17 ` Hongyang Yang
2014-06-05 16:01 ` Ian Jackson
2014-06-05 16:12 ` Ian Jackson
2014-06-06 2:26 ` Hongyang Yang
-- strict thread matches above, loose matches on Subject: below --
2014-05-21 10:14 [PATCH v10 0/5] Remus/Libxl: " Yang Hongyang
2014-05-21 10:14 ` [PATCH v10 4/5] remus: implement remus network buffering for nic devices Yang Hongyang
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=53912093.6080901@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=roger.pau@citrix.com \
--cc=rshriram@cs.ubc.ca \
--cc=stefano.stabellini@eu.citrix.com \
--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 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.