public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>
To: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel
	<kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
	linux-kernel
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: Guest kernel hangs in smp kvm for older kernels prior to tsc	sync cleanup
Date: Tue, 18 Dec 2007 23:19:30 +0100	[thread overview]
Message-ID: <20071218221930.GA26109@elte.hu> (raw)
In-Reply-To: <47680173.6060606-atKUWr5tajBWk0Htik3J/w@public.gmane.org>


* Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote:

> Booting RHEL 5 i386 in kvm with -no-kvm-irqchip -smp 4 will hang in udev.  
> I bisected this to a change in the _guest_ kernel:
>
>> commit 95492e4646e5de8b43d9a7908d6177fb737b61f0
>> Author: Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>
>> Date:   Fri Feb 16 01:27:34 2007 -0800
>>
>>     [PATCH] x86: rewrite SMP TSC sync code
>>
>>     make the TSC synchronization code more robust, and unify it between 
>> x86_64 and
>>     i386.
>>
>>     The biggest change is the removal of the 'fix up TSCs' code on x86_64 
>> and
>>     i386, in some rare cases it was /causing/ time-warps on SMP systems.
>>
>>     The new code only checks for TSC asynchronity - and if it can prove a
>>     time-warp (if it can observe the TSC going backwards when going from 
>> one CPU
>>     to another within a critical section), then the TSC clock-source is 
>> turned
>>     off.
>>
>>     The TSC synchronization-checking code also got moved into a separate 
>> file.
>
> So, guest kernels prior to this commit will hang in kvm smp; after this 
> commit they will boot fine.
>
> While the change mentions that it fixes a time warp bug, it also says 
> it should be rare.  So clearly kvm smp tsc handing is buggy.  
> Ingo/Thomas, (or anybody else), do you have any insight as to what kvm 
> can be doing wrong to trigger this behavior?

hm. Those time warps were really small, due to the small imperfections 
in the "sync up all CPUs to the same moment and do a WRMSR to clear all 
their TSCs" mechanism. I.e. at most a few usec time warps. I really dont 
know how that should result in udevd hanging. Can you debug udevd in any 
way?

so the only thing that KVM might be doing incorrectly here is the 
emulation of the WRMSR that clears the TSC of each vcpu?

	Ingo

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace

  parent reply	other threads:[~2007-12-18 22:19 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-18 17:20 Guest kernel hangs in smp kvm for older kernels prior to tsc sync cleanup Avi Kivity
     [not found] ` <47680173.6060606-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-12-18 22:19   ` Ingo Molnar [this message]
     [not found]     ` <20071218221930.GA26109-X9Un+BFzKDI@public.gmane.org>
2007-12-19  6:33       ` Avi Kivity
     [not found]         ` <4768BB43.1000609-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-12-19 11:19           ` Avi Kivity
2007-12-19 11:39             ` [kvm-devel] " Avi Kivity
     [not found]               ` <47690304.1090903-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-12-19 14:06                 ` Ingo Molnar
2007-12-19 14:27                   ` [kvm-devel] " Avi Kivity
     [not found]                     ` <47692A47.4040803-7k6+44Jx4zn6gbPvEgmw2w@public.gmane.org>
2007-12-19 15:32                       ` Glauber de Oliveira Costa
2007-12-19 15:41                         ` [kvm-devel] " Avi Kivity
     [not found]                           ` <47693B9D.7080809-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-12-20 10:34                             ` Glauber de Oliveira Costa
     [not found]                         ` <5d6222a80712190732h515a63e6y49c64c0f572f044-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-12-19 16:55                           ` Amit Shah
     [not found]                             ` <200712192225.53748.amit.shah-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-12-19 17:04                               ` Guest kernel hangs in smp kvm for older kernelsprior " Dor Laor
     [not found]                                 ` <47694F35.6070401-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-12-19 17:09                                   ` Avi Kivity
     [not found]                   ` <20071219140624.GF21282-X9Un+BFzKDI@public.gmane.org>
2007-12-19 14:53                     ` Guest kernel hangs in smp kvm for older kernels prior " Avi Kivity
2007-12-19 15:09                       ` [kvm-devel] " Ingo Molnar
     [not found]                         ` <20071219150938.GA15267-X9Un+BFzKDI@public.gmane.org>
2007-12-19 15:21                           ` Avi Kivity

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=20071218221930.GA26109@elte.hu \
    --to=mingo-x9un+bfzkdi@public.gmane.org \
    --cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.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