public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alok Kataria <akataria@vmware.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>,
	LKML <linux-kernel@vger.kernel.org>,
	the arch/x86 maintainers <x86@kernel.org>,
	Daniel Hecht <dhecht@vmware.com>
Subject: Re: [PATCH] Skip tsc synchronization checks if CONSTANT_TSC bit is set.
Date: Wed, 22 Oct 2008 19:21:18 -0700	[thread overview]
Message-ID: <1224728478.13953.79.camel@alok-dev1> (raw)
In-Reply-To: <20081022225409.GB27492@one.firstfloor.org>

On Wed, 2008-10-22 at 15:54 -0700, Andi Kleen wrote:
> > Not really, there are problems with the pm timer too, the one about
> > missing the counter wrap and time dropping in chunks of 4 seconds.
> > Tried to explain it over here, http://lkml.org/lkml/2008/10/22/525
> 
> Well then pit. 

PIT is not available as a clocksource if highres or one-shot timers are
enabled. So PIT is not a possibility. 

> 
> Or are you saying time is always broken on VMware & Linux?

The acpi_pm timer wrap problem has come up only with the clocksource and
NO_HZ kernels, without NO_HZ there were periodic interrupts which caused
the guest to be scheduled before ACPI_PM could wrap around.

> > So TSC is the ideal clocksource from performance and correctness point
> > of view for VMware.
> 
> But you don't seem to emulate it "ideal"ly otherwise you wouldn't
> need all these hacks you're adding?

"All these hacks" ? i guess you are talking about only this particular,
skipping the tsc_sync checks.
Rest of them are valid bugs as i have mentioned.

> 
> I think you should either implement a TSC that matches what
> real hardware does (including CPUID semantics) 

Yeah accepted, i agree this is the right approach and that's the long
term view that we are taking too.

> or implement
> a real vmware PV timer and just say it's PV and not fully virtualized.
> But doesn't the vmware paravirt ops have that already anyways?

That's for 32bit only. Apart from the tsc_sync problem i doubt we have
any other issue with the TSC as clocksource, so adding a similar
clocksource is something that i would avoid.

> 
> But I personally think it wouldn't really scale to add detection for
> more and more "nearly PV" hypervisors to the standard native kernel.

I think we anyways need a way to detect if we are running on a
hypervisor. That's the only way we can move towards having a single
image which runs well on both native hardware and a virtualized
environment. 

I guess, the only thing that you don't agree over here is the enabling
of CONSTANT_TSC bit when VMware is detected, right ?
I would agree that this could be viewed as a hack but that is the only
way we can have the kernel still working correctly on the already
released platforms. And, this should be viewed no different than the
case of fixing a slightly different behavior of a particular hardware. 

Thanks,
Alok


> 
> -Andi


  reply	other threads:[~2008-10-23  2:22 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-21  1:35 [PATCH 0/3] Improve TSC as a clocksource under VMware Alok Kataria
2008-10-21  5:55 ` Chris Snook
2008-10-21 19:11   ` Alok Kataria
2008-10-22 19:26   ` Alok Kataria
2008-10-22 19:29     ` Jeff Hansen
2008-10-21  9:43 ` Andi Kleen
2008-10-21 16:41   ` Alok Kataria
2008-10-21 17:40     ` Andi Kleen
2008-10-21 18:04       ` Alok Kataria
2008-10-21 18:15         ` Andi Kleen
2008-10-21 19:10           ` Alok Kataria
2008-10-21 19:27             ` Andi Kleen
2008-10-21 19:47               ` Alok Kataria
2008-10-21 21:41                 ` Alok Kataria
2008-10-22 19:23               ` [PATCH] Skip tsc synchronization checks if CONSTANT_TSC bit is set Alok Kataria
2008-10-22 19:26                 ` Ingo Molnar
2008-10-22 19:30                   ` Alok Kataria
2008-10-22 20:17                   ` Andi Kleen
2008-10-22 22:04                     ` Alok Kataria
2008-10-22 19:58                 ` Andi Kleen
2008-10-22 22:00                   ` Alok Kataria
2008-10-22 22:13                     ` Andi Kleen
2008-10-22 22:11                       ` Alok Kataria
2008-10-22 22:54                         ` Andi Kleen
2008-10-23  2:21                           ` Alok Kataria [this message]
2008-10-23  8:10                             ` Andi Kleen
2008-10-23 23:39                               ` Alok Kataria
2008-10-23 23:47                                 ` H. Peter Anvin
2008-10-24  0:25                                   ` Andi Kleen
2008-10-24  0:46                                     ` H. Peter Anvin
2008-10-24  7:23                                       ` Andi Kleen
2008-10-24 15:30                                         ` H. Peter Anvin
2008-10-24 19:25                                           ` Andi Kleen
2008-10-24 19:19                                             ` H. Peter Anvin
2008-10-24 19:34                                               ` Andi Kleen
2008-10-24 19:50                                                 ` Alok Kataria
2008-10-24 20:18                                             ` Dan Hecht
2008-10-24  1:12                                   ` Alok Kataria
2008-10-24  1:18                                     ` H. Peter Anvin
2008-10-22 22:15                     ` Alan Cox
2008-10-22 22:17                       ` Alok Kataria
2008-10-21  9:50 ` [PATCH 0/3] Improve TSC as a clocksource under VMware Pavel Machek
2008-10-21 16:48   ` Alok Kataria
2008-10-21 18:36     ` Pavel Machek

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=1224728478.13953.79.camel@alok-dev1 \
    --to=akataria@vmware.com \
    --cc=andi@firstfloor.org \
    --cc=dhecht@vmware.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=x86@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