Re: [patch 0/3] kvm tool: Serial emulation overhaul

From: Cyrill Gorcunov
Date: Mon Dec 12 2011 - 06:23:23 EST


On Mon, Dec 12, 2011 at 12:12:22PM +0100, Ingo Molnar wrote:
>
> * Sasha Levin <levinsasha928@xxxxxxxxx> 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.
>

FWIW, last time I was mcount'ing calltrace -- we spend a lot of time
due to timer signals, ie because of

#define TIMER_INTERVAL_NS 1000000 /* 1 msec */

so, do we really need it being that hight? This poll includes
enquiry if there some symbol a user typed in console. Maybe
we should reduce this rate?

Cyrill
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/