From: Dor Laor <dor.laor@gmail.com>
To: Avi Kivity <avi@qumranet.com>
Cc: kvm-devel@lists.sourceforge.net
Subject: Re: [PATCH 0/6] In kernel PIT patch
Date: Thu, 06 Mar 2008 00:40:23 +0200 [thread overview]
Message-ID: <1204756823.4708.17.camel@localhost.localdomain> (raw)
In-Reply-To: <47CED8AD.80201@qumranet.com>
On Wed, 2008-03-05 at 19:30 +0200, Avi Kivity wrote:
> Anthony Liguori wrote:
> > Playing a movie is a bit subjective. I presume you're talking about the
> > standard HAL as presumably the ACPI HAL is using the pm timer?
> >
>
> ACPI HAL uses the apic timer, IIRC; perhaps the pm timer as well.
>
> > So the two cases I'm hearing where timer accuracy should improve is
> > standard HAL on Windows and clock=pit on Linux? I'd still like to see
> > what the actual difference in timer accuracy is.
>
> It depends on the load. As the load increases, the host process starts
> to miss timer signals. With both pic and pit in userspace, you can
> detect those missed interrupts and inject them later once you get your
> timeslice. With the pic in kernel, there is no way to do this.
>
> The same thing happens with the apic timer, only there, it is easy to
> compensate because both parts are in the kernel.
>
> > I have no doubt that
> > moving the pit into the kernel is more efficient. Moving everything
> > into the kernel is more efficient because light weight exits are cheaper
> > than heavy weight exits.
> >
>
> Efficiency is only a secondary goal here. The userspace PIT does not
> consume large amounts of CPU.
>
> > The thing I'm trying to get at is a quantitative statement about why
> > moving the pit into the kernel is the right thing. I'll try to give the
> > patches a try myself in the next couple of days. I don't think it's
> > obvious that it's the right thing to do without some sort of benchmark
> > supporting it.
> >
>
> Playing a movie is better than any benchmark; it reflects actual user
> experience in a real and important use case. Benchmarks are substitutes
> for real use cases, not the goal of the optimization.
>
I forgot to mention that the benchmark is measuring time drift in the
guest. Playing a movie in winxp changes the guest clock frequency from
100HZ to 1000HZ, thus causing a 250HZ host to coalesce pit irqs.
So good pic & pit combination can handle guest multimedia without drifts
while insufficient implementation just can't.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
next prev parent reply other threads:[~2008-03-05 22:40 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-04 10:22 [PATCH 0/6] In kernel PIT patch Yang, Sheng
2008-03-04 15:52 ` Anthony Liguori
2008-03-04 23:18 ` Dor Laor
2008-03-05 0:50 ` Anthony Liguori
2008-03-05 3:41 ` Yang, Sheng
2008-03-05 4:25 ` Anthony Liguori
2008-03-05 5:18 ` Yang, Sheng
2008-03-05 10:14 ` Dor Laor
2008-03-05 14:58 ` Anthony Liguori
2008-03-05 17:30 ` Avi Kivity
2008-03-05 22:40 ` Dor Laor [this message]
2008-03-05 23:05 ` Anthony Liguori
2008-03-05 23:24 ` Dor Laor
2008-03-06 20:56 ` Anthony Liguori
2008-03-06 21:17 ` Dor Laor
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=1204756823.4708.17.camel@localhost.localdomain \
--to=dor.laor@gmail.com \
--cc=avi@qumranet.com \
--cc=dor.laor@qumranet.com \
--cc=kvm-devel@lists.sourceforge.net \
/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