[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: system freeze when processor.ko is loaded
Hi Jan, > Date: Wed, 06 Apr 2011 10:58:59 +0100 > From: "Jan Beulich" <JBeulich@xxxxxxxxxx> > Subject: Re: [Xen-devel] Re: system freeze when processor.ko is loaded > during boot > To: "Keir Fraser" <keir@xxxxxxx> > Cc: Jinsong Liu <jinsong.liu@xxxxxxxxx>, > "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, > Yunhong Jiang <yunhong.jiang@xxxxxxxxx>, Donald D Dugger > <donald.d.dugger@xxxxxxxxx>, Xin Li <xin.li@xxxxxxxxx>, > Haitao Shan > <maillists.shan@xxxxxxxxx>, Gang Wei <gang.wei@xxxxxxxxx>, > Martin > Wilck <mwilck@xxxxxxxx> > Message-ID: <4D9C5583020000780003A268@xxxxxxxxxxxxxxxxxx> > Content-Type: text/plain; charset=US-ASCII > > >>> On 04.04.11 at 11:22, "Jan Beulich" <JBeulich@xxxxxxxxxx> wrote: > > Haitao, while it is quite clear that with the current > > implementation we just can't use C states above C1 on CPUs > > that may halt the TSC in C2 or C3 *and* that don't allow > > writing the full TSC, this family/model based determination > > clearly isn't nice (and since it is a white list, it can't possibly > be > > complete). An alternative would seem to be to probe for how > > TSC writes behave (thus at once covering eventual other > > vendors' CPUs that may have similar shortcomings). That of > > course would need to be done early, so that resetting the > > upper bits to zero wouldn't have any adverse effect. What > > do you think? > > The probing itself seems to work fine. I'm confused by something > else though: synchronize_tsc_{master,slave}() execute their > loops (at boot or during hotplug) on any CPU that doesn't have > X86_FEATURE_TSC_RELIABLE, including such where TSC writes > don't really work (luckily I still haven't thrown out one that is > affected by this). What is the point of doing this synchronization > if we can happily live with it actually not working (Xen runs fine > on that box afaict)? c/s 21468:26c2922da53c is also not very > verbose about why this got (re-)added... Should the body > perhaps really only be run for X86_FEATURE_CONSTANT_TSC but > !X86_FEATURE_NONSTOP_TSC CPUs? > > Jan > Thanks for the great effort for root cause the issue! I think restore only the lower 32bit TSC is good enough, why do we need to touch upper 32 bit TSC? 1. I would not think if any processor's deep c-state wakeup from idle can more than 100 ms. 2. For 3GHZ processor lower 32bit TSC wrapper around time is ~2.83 Sec. 3. The platform timer (22bit ACPI timer) wrapper around is 2.34 sec (this is used for counting the delta before enter deep_cstate and before wakeup) Just need to change cstate_restore_tsc() and only patch back the delta time to the lower 32 bit TSC to make that simple? Winston, _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |