From: Weidong Han <weidong.han@intel.com>
To: Jan Beulich <JBeulich@novell.com>
Cc: "Zhang, Yang Z" <yang.z.zhang@intel.com>,
Sander Eikelenboom <linux@eikelenboom.it>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: RE: kernel panic when enable x2apic
Date: Tue, 30 Nov 2010 16:50:11 +0800 [thread overview]
Message-ID: <4CF4BAC3.6060009@intel.com> (raw)
In-Reply-To: <4CE668C50200007800023536@vpn.id2.novell.com>
Jan Beulich wrote:
>>>> On 19.11.10 at 11:40, Sander Eikelenboom <linux@eikelenboom.it> wrote:
>>>>
>> Hello Jan,
>>
>> Friday, November 19, 2010, 11:17:21 AM, you wrote:
>>
>>
>>>>>> On 18.11.10 at 05:53, "Zhang, Yang Z" <yang.z.zhang@intel.com> wrote:
>>>>>>
>>>> From this output, it shows the cpupool_id = 7f034000, I don't know why it
>>>> was 7f034000. I think the first cpupool_id should be 0?Am I right?
>>>>
>>> Yes, it ought to be zero.
>>>
>>>> Also the fail with write mtrr MSR, the value also is very strange:
>>>> ffff83007f0f7670, it totally different with the SDM says.
>>>> (XEN) MTRR: CPU 0: Writing MSR 200 to ffff83007f0f7670 failed
>>>>
>>> Yes, I had indicated so in an earlier reply.
>>>
>>>> So, I am think that maybe the heap is broken?
>>>>
>>> General memory corruption is more likely. The question is when it
>>> starts.
>>>
>> General memory corruption could also be hardware related (bad dimm) ?
>>
>
> In general, yes, but this wouldn't normally lead to patterns that look
> like valid (albeit misplaced) addresses, I would think.
>
> Jan
>
>
We root caused this issue. Actually it is not related to x2APIC and c/s
22375, it's caused by incorrectly setting boot_cpu_data.x86_capability.
boot_cpu_data.x86_capability is set in identify_cpu, but I found
boot_cpu_data.x86_capability[4] is also set in start_vmx, which may
overwrite the previous values. This panic is caused by overwriting
X86_FEATURE_XSAVE bit in boot_cpu_data.x86_capability. Yang's platform
support xsave, and xsave is not enabled (by default), then
X86_FEATURE_XSAVE bit will be cleared in boot_cpu_data.x86_capability in
init_intel, that means cpu_has_xsave is 0. But later, start_vmx set that
bit (cpu_has_xsave is true) again. This results in Xen to allocate xsave
area in vcpu_initialise, we observed it may allocate a used address for
it, therefore cause the panic. The obvious solution is to remove
boot_cpu_data.x86_capability[4] = cpuid_ecx(1) in start_vmx. It indeed
works with the change. I will send out the patch after more tests.
Regards,
Weidong
next prev parent reply other threads:[~2010-11-30 8:50 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-17 8:59 kernel panic when enable x2apic Zhang, Yang Z
2010-11-17 9:41 ` Jan Beulich
2010-11-17 13:16 ` Zhang, Yang Z
2010-11-17 16:23 ` Jan Beulich
2010-11-18 4:53 ` Zhang, Yang Z
2010-11-19 10:17 ` Jan Beulich
2010-11-19 10:40 ` Sander Eikelenboom
2010-11-19 11:08 ` Jan Beulich
2010-11-30 0:58 ` Zhang, Yang Z
2010-11-30 8:50 ` Weidong Han [this message]
2010-11-30 9:23 ` Keir Fraser
2010-11-30 11:40 ` Keir Fraser
2010-12-01 0:42 ` Weidong Han
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=4CF4BAC3.6060009@intel.com \
--to=weidong.han@intel.com \
--cc=JBeulich@novell.com \
--cc=linux@eikelenboom.it \
--cc=xen-devel@lists.xensource.com \
--cc=yang.z.zhang@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.