From: Amos Kong <akong@redhat.com>
To: Luiz Capitulino <lcapitulino@redhat.com>
Cc: laine@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com,
mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH v6] net: add support of mac-programming over macvtap in QEMU side
Date: Mon, 17 Jun 2013 22:50:08 +0800 [thread overview]
Message-ID: <20130617144945.GA5214@amosk.info> (raw)
In-Reply-To: <20130617091127.444de556@redhat.com>
On Mon, Jun 17, 2013 at 09:11:27AM -0400, Luiz Capitulino wrote:
> On Fri, 14 Jun 2013 15:45:52 +0800
> Amos Kong <akong@redhat.com> wrote:
>
> > Currently macvtap based macvlan device is working in promiscuous
> > mode, we want to implement mac-programming over macvtap through
> > Libvirt for better performance.
> >
> > Design:
> > QEMU notifies Libvirt when rx-filter config is changed in guest,
> > then Libvirt query the rx-filter information by a monitor command,
> > and sync the change to macvtap device. Related rx-filter config
> > of the nic contains main mac, rx-mode items and vlan table.
> >
> > This patch adds a QMP event to notify management of rx-filter change,
> > and adds a monitor command for management to query rx-filter
> > information.
> >
> > Test:
> > If we repeatedly add/remove vlan, and change macaddr of vlan
> > interfaces in guest by a loop script.
> >
> > Result:
> > The events will flood the QMP client(management), management takes
> > too much resource to process the events.
> >
> > Event_throttle API (set rate to 1 ms) can avoid the events to flood
>
> I doubt this is a valid value. Today, the three events that use the event
> throttle API set the delay rate to 1000 ms.
We even could not bear the 1ms delay, 1000 is too large.
> > QMP client, but it could cause an unexpected delay (~1ms), guests
> > guests normally expect rx-filter updates immediately.
>
> What you mean by "immediately"? There's a round-trip to the host plus
> all the stuff QEMU will execute to fulfil the request. And how did you
> measure this, btw?
'Immediately' means ASAP here.
We could not prevent qemu to execute. But we replace throttle API by
a smart flag.
Throttle API might be a good design, but it's redundant in this case.
> What you have to do is is to measure your test-case in three different
> scenarios:
>
> 1. Against upstream QEMU (ie. no patches)
> 2. With the event throttle API
> 3. With this patch
1. use flag: the time used to check the flag, we can ignore the delay.
2. use throttle API: delay is 1ms or 1000ms.
~0ms VS. more than 1000ms
> Only then you'll be able which is better.
Amos.
next prev parent reply other threads:[~2013-06-17 14:50 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-14 7:45 [Qemu-devel] [PATCH v6] net: add support of mac-programming over macvtap in QEMU side Amos Kong
2013-06-17 13:11 ` Luiz Capitulino
2013-06-17 13:21 ` Michael S. Tsirkin
2013-06-17 13:30 ` Luiz Capitulino
2013-06-17 14:20 ` Michael S. Tsirkin
2013-06-17 14:34 ` Luiz Capitulino
2013-06-17 14:42 ` Michael S. Tsirkin
2013-06-17 14:54 ` Luiz Capitulino
2013-06-17 15:03 ` Amos Kong
2013-06-17 15:10 ` Michael S. Tsirkin
2013-06-17 15:15 ` Luiz Capitulino
2013-06-17 14:50 ` Amos Kong [this message]
2013-06-17 13:52 ` Michael S. Tsirkin
2013-06-18 1:59 ` Wenchao Xia
2013-06-18 3:00 ` Amos Kong
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=20130617144945.GA5214@amosk.info \
--to=akong@redhat.com \
--cc=laine@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.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.