public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@qumranet.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: kvm-devel@lists.sourceforge.net
Subject: Re: [PATCH 0/6] In kernel PIT patch
Date: Wed, 05 Mar 2008 19:30:21 +0200	[thread overview]
Message-ID: <47CED8AD.80201@qumranet.com> (raw)
In-Reply-To: <47CEB519.6080305@codemonkey.ws>

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.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


-------------------------------------------------------------------------
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/

  reply	other threads:[~2008-03-05 17:30 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 [this message]
2008-03-05 22:40             ` Dor Laor
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=47CED8AD.80201@qumranet.com \
    --to=avi@qumranet.com \
    --cc=anthony@codemonkey.ws \
    --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