From: Avi Kivity <avi@qumranet.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: Mark McLoughlin <markmc@redhat.com>,
Anthony Liguori <aliguori@us.ibm.com>,
linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org
Subject: Re: [PATCH] virtio_net: free transmit skbs in a timer
Date: Wed, 14 May 2008 11:59:59 +0300 [thread overview]
Message-ID: <482AAA0F.2020607@qumranet.com> (raw)
In-Reply-To: <200805141607.26306.rusty@rustcorp.com.au>
Rusty Russell wrote:
>> Sorry to barge in late, but IMO the timer should be on the host, which
>> is cheaper than on the guest (well, a 100ms timer is likely zero cost,
>> but I still don't like it).
>>
>> the host should fire a tx completion interrupt whenever the completion
>> queue has "enough" entries, where we can define "enough" now as the
>> halfway mark or a timer expiry, whichever comes earlier.
>>
>> We can later improve "enough" to be "just enough so the timer never
>> triggers" and adjust it dynamically. It probably doesn't matter for
>> Linux, but I don't want to punish guests that can do true async
>> networking and depend on timely completion notification.
>>
>
> This implies that we should not be supressing notifications in the guest at
> all (unless we're sure there are more packets to come, which currently we
> never are: that needs new net infrastructure).
>
We don't have to be sure, just reasonably confident. If we see a stream
of packets, we open the window, but set a timer in case we're wrong.
The expectation is that the timer will only fire when tx rate drops (or
tx stops completely).
> But that means we'd get a notification on every xmit at the moment.
> Benchmarks anyone?
>
Notification on every xmit will surely kill performance. I'm trying to
get batching to work but also good latency when the link is not saturated.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2008-05-14 9:00 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-30 14:31 [PATCH] virtio_net: free transmit skbs in a timer Mark McLoughlin
2008-05-02 10:55 ` Rusty Russell
2008-05-12 20:37 ` Mark McLoughlin
2008-05-12 20:37 ` Mark McLoughlin
2008-05-13 7:47 ` Avi Kivity
2008-05-13 7:47 ` Avi Kivity
2008-05-14 6:07 ` Rusty Russell
2008-05-14 8:59 ` Avi Kivity [this message]
2008-05-15 15:29 ` Mark McLoughlin
2008-05-15 15:29 ` Mark McLoughlin
2008-05-15 15:32 ` Avi Kivity
2008-05-15 15:32 ` Avi Kivity
2008-05-15 23:25 ` Rusty Russell
2008-05-18 6:40 ` Avi Kivity
2008-05-18 14:16 ` Rusty Russell
2008-05-18 14:27 ` Avi Kivity
2008-05-18 14:27 ` Avi Kivity
2008-05-19 1:52 ` Rusty Russell
2008-05-19 10:26 ` Avi Kivity
2008-05-19 10:26 ` Avi Kivity
2008-05-19 12:21 ` Rusty Russell
2008-05-19 12:21 ` Rusty Russell
2008-05-19 13:26 ` Avi Kivity
2008-05-19 13:26 ` Avi Kivity
2008-05-20 1:37 ` Rusty Russell
2008-05-20 1:37 ` Rusty Russell
2008-05-19 1:52 ` Rusty Russell
2008-05-18 14:16 ` Rusty Russell
2008-05-18 6:40 ` Avi Kivity
2008-05-15 23:25 ` Rusty Russell
2008-05-14 8:59 ` Avi Kivity
2008-05-14 6:07 ` Rusty Russell
2008-05-02 10:55 ` Rusty Russell
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=482AAA0F.2020607@qumranet.com \
--to=avi@qumranet.com \
--cc=aliguori@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=markmc@redhat.com \
--cc=rusty@rustcorp.com.au \
--cc=virtualization@lists.linux-foundation.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 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.