WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] x86: don't write_tsc() non-zero values on CPUs u

To: Jan Beulich <JBeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] x86: don't write_tsc() non-zero values on CPUs updating only the lower 32 bits
From: Keir Fraser <keir.xen@xxxxxxxxx>
Date: Thu, 14 Apr 2011 08:50:37 +0100
Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "winston.l.wang" <winston.l.wang@xxxxxxxxx>
Delivery-date: Thu, 14 Apr 2011 00:51:23 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:user-agent:date:subject:from:to:cc:message-id :thread-topic:thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; bh=JsyFTYUypVojQRNlCZOngiOfZhsA1gz7Amkr5EGdAa8=; b=qEgAEj1qOESkUe0nBkvyarHJ69ytpg/I5S65pD7rkwvdGc699yQvQ0X9aJzml01dQU fpKRrAC2RgUTpHkvro3gXgtdsFcZDWcDJfUMBUyRr/h+xmrK60MVotc4iwVyAPcKJSw9 H2+CXWmMS2DOUoxwSjyysOyrPsrOoG7QSpL50=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=user-agent:date:subject:from:to:cc:message-id:thread-topic :thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; b=DyM37nMIqfFxowVfqPsEWW/P4ImFD+llktA+cTTTwUWnpr0buPMnFK+YA+CGGefw7p GBKkvK4C2Xe0Eo2aSO3Fo8DfxMtoVyIU68OLD1ceA1ITKEbjHRVhfw3J4X9iJvQ2Aenv jJOWaPHimX55J7wiA/P4oMtahANGrNFW9z3kA=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4DA6C16F020000780003B899@xxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acv6eKRR6LNj6wcoWkGdXFztfyGJfw==
Thread-topic: [Xen-devel] [PATCH] x86: don't write_tsc() non-zero values on CPUs updating only the lower 32 bits
User-agent: Microsoft-Entourage/12.28.0.101117
On 14/04/2011 08:42, "Jan Beulich" <JBeulich@xxxxxxxxxx> wrote:

>>>> On 14.04.11 at 09:25, Keir Fraser <keir.xen@xxxxxxxxx> wrote:
>> On 14/04/2011 08:18, "Jan Beulich" <JBeulich@xxxxxxxxxx> wrote:
>> 
>>> This means suppressing the uses in time_calibration_tsc_rendezvous(),
>>> cstate_restore_tsc(), and synchronize_tsc_slave(), and fixes a boot
>>> hang of Linux Dom0 when loading processor.ko on such systems that
>>> have support for C states above C1.
>> 
>> Should your new test be gated on !X86_FEATURE_TSC_RELIABLE? We already
> 
> Which test? The write-TSC-probe itself?
> 
>> *never* write the TSC when boot_cpu_has(TSC_RELIABLE) -- Dan Magenheimer
>> made that change on the assumption that TSCs were globally synced by
>> firmware in this case, and us writing one or more TSCs could only ever make
>> things worse.
> 
> That's not true - we only avoid the writing for TSC sync during boot.
> Post-boot bringup of CPUs will write the TSC no matter what, and

For physically-added CPUs only. Kind of unavoidable, that one: we can only
try to do our best in that case. And let's face it, that probably affects
exactly zero production users of Xen/x86 right now.

> cstate_restore_tsc() also has no such gating afaics.

It is gated on NONSTOP_TSC which is implied by TSC_RELIABLE.

 -- Keir

> Jan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>