From: Avi Kivity <avi@redhat.com>
To: Mark McLoughlin <markmc@redhat.com>
Cc: kvm@vger.kernel.org
Subject: Re: [PATCH 0/6] Kill off the virtio_net tx mitigation timer
Date: Sun, 09 Nov 2008 13:29:11 +0200 [thread overview]
Message-ID: <4916C987.4030802@redhat.com> (raw)
In-Reply-To: <1225993515.10879.48.camel@blaa>
Mark McLoughlin wrote:
> The way I see this (continuing with your example figures) playing out
> is:
>
> - If we have a packet rate of <2.5K packets/sec, we essentially have
> zero added latency - each packet causes a vmexit and the packet is
> dispatched immediately
>
> - As soon as we go above 2.5k we add, on average, an additional
> ~400us delay to each packet
>
> - This is almost identical to our current scheme with an 800us timer,
> except that flushes are typically triggered by a vmexit instead of
> the timer expiring
>
> I don't think this is the effect you're looking for? Am I missing
> something?
>
No. While it's what my description implies, it's not what I want.
Let's step back for a bit. What do we want?
Let's assume the virtio queue is connected to a real queue. The
guest->host scenario is easier, and less important.
So:
1. we never want to have a situation where the host queue is empty, but
the guest queue has unkicked entries. That will drop us below line rate
and add latencies.
2. we want to avoid situations where the host queue is non-empty, and we
kick the guest queue. The won't improve latency, and will increase cpu
utilization
- if the host queue is close to depletion, then we _do_ want the kick,
to avoid violating the first requirement (which is more important)
Does this seem sane as high-level goals? If so we can think about how
to implement it.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2008-11-09 11:29 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-30 17:51 [PATCH 0/6] Kill off the virtio_net tx mitigation timer Mark McLoughlin
2008-10-30 17:51 ` [PATCH 1/6] kvm: qemu: virtio: remove unused variable Mark McLoughlin
2008-10-30 17:51 ` [PATCH 2/6] kvm: qemu: dup the qemu_eventfd() return Mark McLoughlin
2008-10-30 17:51 ` [PATCH 3/6] kvm: qemu: add qemu_eventfd_write() and qemu_eventfd_read() Mark McLoughlin
2008-10-30 17:51 ` [PATCH 4/6] kvm: qemu: aggregate reads from eventfd Mark McLoughlin
2008-10-30 17:51 ` [PATCH 5/6] kvm: qemu: virtio-net: handle all tx in I/O thread without timer Mark McLoughlin
2008-10-30 17:51 ` [PATCH 6/6] kvm: qemu: virtio-net: drop mutex during tx tapfd write Mark McLoughlin
2008-11-04 11:43 ` Avi Kivity
2008-10-30 19:24 ` [PATCH 5/6] kvm: qemu: virtio-net: handle all tx in I/O thread without timer Anthony Liguori
2008-10-31 9:16 ` Mark McLoughlin
2008-11-03 15:07 ` Mark McLoughlin
2008-11-02 9:56 ` Avi Kivity
2008-11-04 15:23 ` David S. Ahern
2008-11-06 17:02 ` Mark McLoughlin
2008-11-06 17:13 ` David S. Ahern
2008-11-06 17:43 ` Avi Kivity
2008-10-30 19:20 ` [PATCH 0/6] Kill off the virtio_net tx mitigation timer Anthony Liguori
2008-11-02 9:48 ` Avi Kivity
2008-11-03 12:23 ` Mark McLoughlin
2008-11-03 12:40 ` Avi Kivity
2008-11-03 15:04 ` Mark McLoughlin
2008-11-03 15:19 ` Avi Kivity
2008-11-06 16:46 ` Mark McLoughlin
2008-11-06 17:38 ` Avi Kivity
2008-11-06 17:45 ` Mark McLoughlin
2008-11-09 11:29 ` Avi Kivity [this message]
2008-11-02 9:57 ` Avi Kivity
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=4916C987.4030802@redhat.com \
--to=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=markmc@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox