public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Tosatti <mtosatti@redhat.com>
To: Glauber Costa <gcosta@redhat.com>
Cc: kvm-devel <kvm@vger.kernel.org>,
	kraxel@redhat.com, chrisw@redhat.com, aliguori@us.ibm.com
Subject: Re: kvm guest loops_per_jiffy miscalibration under host load
Date: Fri, 4 Jul 2008 19:51:55 -0300	[thread overview]
Message-ID: <20080704225155.GA29760@dmt.cnet> (raw)
In-Reply-To: <486CD151.8020004@redhat.com>

Hi Glauber,

On Thu, Jul 03, 2008 at 10:17:05AM -0300, Glauber Costa wrote:
>> - Require the admin to preset "lpj=". Nasty, not user friendly.
>> - Pass the proper lpj value via a paravirt interface. Won't cover
>>   fullvirt guests.
>> - Have the management app guarantee a minimum amount of CPU required
>> for proper calibration during guest initialization.
> I don't like any of these solutions, and won't defend any of "the one".  
> So no hard feelings. But I think the "less worse" among them IMHO is the
> paravirt one. At least it goes in the general direction of "paravirt if  
> you need to scale over xyz".

What is worse is that this problem can happen with a single guest, given
enough lack of CPU power to the qemu process.

> I think passing lpj is out of question, and giving the cpu resources for  
> that time is kind of a kludge.

Yeah, but reserving cpu resources is the only automatic solution I can
think of for fullvirt guests.

> Or maybe we could put the timer expiration alone in a separate thread,  
> with maximum priority (maybe rt priority)? dunno...

The timer expiration already has high priority, since its emulated with
host kernel timers, so they're pretty close to the real hardware timing.

Problem is if the guest is not given enough CPU power to run the
calibration routines.


  reply	other threads:[~2008-07-04 23:02 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-02 16:40 kvm guest loops_per_jiffy miscalibration under host load Marcelo Tosatti
2008-07-03 13:17 ` Glauber Costa
2008-07-04 22:51   ` Marcelo Tosatti [this message]
2008-07-07  1:56   ` Anthony Liguori
2008-07-07 18:27     ` Glauber Costa
2008-07-07 18:48       ` Marcelo Tosatti
2008-07-07 19:21         ` Anthony Liguori
2008-07-07 19:32           ` Glauber Costa
2008-07-07 21:35             ` Glauber Costa
2008-07-11 21:18               ` David S. Ahern
2008-07-12 14:10                 ` Marcelo Tosatti
2008-07-12 19:28                   ` David S. Ahern
2008-07-07 18:17 ` Daniel P. Berrange
  -- strict thread matches above, loose matches on Subject: below --
2008-07-22  3:25 Marcelo Tosatti
2008-07-22  8:22 ` Jan Kiszka
2008-07-22 12:49   ` Marcelo Tosatti
2008-07-22 15:54     ` Jan Kiszka
2008-07-22 22:00     ` Dor Laor
2008-07-22 19:56 ` David S. Ahern
2008-07-23  2:57   ` David S. Ahern
2008-07-29 14:58   ` Marcelo Tosatti

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=20080704225155.GA29760@dmt.cnet \
    --to=mtosatti@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=chrisw@redhat.com \
    --cc=gcosta@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=kvm@vger.kernel.org \
    /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