Messages in this thread | | | Subject | Re: [patch 0/3] kvm tool: Serial emulation overhaul | From | Sasha Levin <> | Date | Mon, 12 Dec 2011 19:40:23 +0200 |
| |
On Mon, 2011-12-12 at 12:12 +0100, Ingo Molnar wrote: > * Sasha Levin <levinsasha928@gmail.com> wrote: > > > 50k cycles for every single byte is pretty much as good as it > > will get with serial console. See slide #5 in Marcelo's KVM > > Forum 2010 presentation[1] where he timed a heavyweight exit > > to about 40k cycles. > > > [1] > > http://www.linux-kvm.org/wiki/images/e/ea/2010-forum-mtosatti_walkthrough_entry_exit.pdf > > But what we do here is a PIO exit. That, according to Marcelo's > measurements, is about 10K cycles, back to back. [*] > > So where does the extra overhead come from? > > We shouldn't care that there's virtio-console - the goal of > tools/kvm it speed everything up as much as possible, so we > should not jump to the next IO abstraction unless we know where > every cycle was spent with simpler IO models ... > > Thanks, > > Ingo > > [*] Also, those 10K cycles include some significant Qemu > overhead - a couple of thousand cycles - that should be much > lower in the tools/kvm case.
No, everything on slide 5 is part of a PIO exit. Starting from 'out' and up to until it's back to the guest. A total of over 40k cycles.
KVM tools does have less overhead than qemu regarding PIO exits, but even if you take those completely out of the equation we're still pretty close to 40k cycles.
--
Sasha.
| |