lkml.org 
[lkml]   [2015]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [Xen-devel] PROBLEM: kernel panic xsave_init
From
Date
On 10/20/2015 08:11 AM, John Doe wrote:
> On 20/10/2015 11:51, Jan Beulich wrote:
>>>>> On 19.10.15 at 18:25, <boris.ostrovsky@oracle.com> wrote:
>>> On 10/19/2015 06:16 AM, John Doe wrote:
>>>>>> [ 0.000000] general protection fault: 0000 [#1] SMP
>>>>>> [ 0.000000] Modules linked in:
>>>>>> [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted
>>> 4.1.9-6.pvops.qubes.x86_64 #1
>>>>>> [ 0.000000] Hardware name: To Be Filled By O.E.M. To Be Filled By
>>> O.E.M./Z170 Extreme4, BIOS P1.80 09/18/2015
>>>>>> [ 0.000000] task: ffffffff81c154c0 ti: ffffffff81c00000 task.ti:
>>> ffffffff81c00000
>>>>>> [ 0.000000] RIP: e030:[<ffffffff81d58fad>] [<ffffffff81d58fad>]
>>> xstate_enable_boot_cpu+0xde/0x288
>>>>>> [ 0.000000] RSP: e02b:ffffffff81c03de8 EFLAGS: 00010046
>>>>>> [ 0.000000] RAX: 000000000000001f RBX: 0000000000000008 RCX:
>>> 0000000000000000
>>>>>> [ 0.000000] RDX: 0000000000000000 RSI: 000000000000001f RDI:
>>> 0000000000042660
>>>
>>>
>>> It would be good to see what's at ffffffff81d58fad. My guess would be
>>> that it's xsetbv.
>>>
>>> If it is then you probably want to make sure you are running hypervisor
>>> that has commit e8121c54 ("x86/xsave: enable support for new ISA
>>> extensions"). Looks like the first version that has it is 4.5 and you
>>> seem to be running 4.4.2.
>>>
>>> Copying Jan to see if there are plans to backport this (probably not
>>> since it's a new feature).
>>
>> Hmm, if there are features getting exposed that lead to crashes like
>> this, then while we wouldn't normally backport enhancements, we
>> may need to consider adding a one-off patch to hide respective
>> features to that stable branch. But first we of course need to
>> understand what is going on here.


The reason I think its this commit is that RAX, RDX and RCX look very
much like arguments to xsetbv (which xstate_enable_boot_cpu() executes)
and RAX value is 0x1f, which has two new bits that this commit defined.

With this being a new processor (Skylake) it would be logical to have
these bits provided by CPUID.

>>
>> Jan
>>
>
> I will try with 4.6.0 asap, unfortunately the 4.4.2 image i have is not
> built with debug enabled and i'm unable to run gdb at boot, i'm building
> a new one right now.

You should be able to use 'gdb /proc/kcore' and look at the instruction
at (and around) 0xffffffff81d58fad.

> If you need anything else please be very step-specific since i'm not
> very practical at this.

You can also try adding
cpuid=['0xd,0:eax=00000000000000000000000000000111']
to your config file and see if it helps.


-boris





\
 
 \ /
  Last update: 2015-10-20 15:41    [W:0.047 / U:1.656 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site