xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Jan Beulich" <JBeulich@novell.com>
To: Martin Wilck <mwilck@arcor.de>, Haitao Shan <maillists.shan@gmail.com>
Cc: Jinsong Liu <jinsong.liu@intel.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Yunhong Jiang <yunhong.jiang@intel.com>,
	Donald D Dugger <donald.d.dugger@intel.com>,
	Xin Li <xin.li@intel.com>, Gang Wei <gang.wei@intel.com>
Subject: Re: Re: system freeze when processor.ko is loaded during boot
Date: Mon, 04 Apr 2011 10:22:26 +0100	[thread overview]
Message-ID: <4D99A9F20200007800039CFB@vpn.id2.novell.com> (raw)
In-Reply-To: <4D987A22.5050303@arcor.de>

>>> On 03.04.11 at 15:46, Martin Wilck <mwilck@arcor.de> wrote:
> processor	: 0
> vendor_id	: GenuineIntel
> cpu family	: 6
> model		: 13

Quoting SDM Vol 3a Section 16.11: "When WRMSR is used to write
the time-stamp counter on processors before family [0FH], models
[03H, 04H]: only the low-order 32-bits of the time-stamp counter
can be written (the high-order 32 bits are cleared to 0). For family
[0FH], models [03H, 04H, 06H]; for family [06H]], model [0EH,
0FH]; for family [06H]], DisplayModel [17H, 1AH, 1CH, 1DH]: all
64 bits are writable."

Quite obviously nothing good can result if we write the TSC on
a CPU that zeroes the upper 32 bits. Hopefully, none of the
affected CPUs has X86_FEATURE_CONSTANT_TSC, since
otherwise time_calibration_tsc_rendezvous() could get used,
which also uses write_tsc().

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?

Jan

  reply	other threads:[~2011-04-04  9:22 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-08 20:04 system freeze when processor.ko is loaded during boot Martin Wilck
2010-10-20  6:57 ` Jan Beulich
2010-11-04 14:57   ` Jiang, Yunhong
2010-11-23 23:16     ` Martin Wilck
2011-01-10 15:37   ` Liu, Jinsong
2011-01-13 21:29     ` Martin Wilck
2011-01-14  7:53       ` Liu, Jinsong
2011-03-18  3:40         ` Liu, Jinsong
2011-01-11 14:29   ` Liu, Jinsong
2011-03-28 22:31     ` Martin Wilck
2011-03-28 22:48       ` Martin Wilck
2011-03-31 11:48         ` Jan Beulich
2011-04-01  2:26           ` Liu, Jinsong
2011-03-31  6:23       ` Haitao Shan
2011-04-03 13:46         ` Martin Wilck
2011-04-04  9:22           ` Jan Beulich [this message]
2011-04-06  9:58             ` Jan Beulich
2011-04-12 13:59             ` Keir Fraser
2011-04-12 14:12               ` Jan Beulich
2011-03-31  9:52       ` Jan Beulich

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=4D99A9F20200007800039CFB@vpn.id2.novell.com \
    --to=jbeulich@novell.com \
    --cc=donald.d.dugger@intel.com \
    --cc=gang.wei@intel.com \
    --cc=jinsong.liu@intel.com \
    --cc=maillists.shan@gmail.com \
    --cc=mwilck@arcor.de \
    --cc=xen-devel@lists.xensource.com \
    --cc=xin.li@intel.com \
    --cc=yunhong.jiang@intel.com \
    /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;
as well as URLs for NNTP newsgroup(s).