[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v15 00/23] Enable L2 Cache Allocation Technology & Refactor psr.c





On 08/03/2017 11:37 AM, Andrew Cooper wrote:
On 01/08/17 09:48, Yi Sun wrote:
Hi all,

We plan to bring a new PSR (Platform Shared Resource) feature called
Intel L2 Cache Allocation Technology (L2 CAT) to Xen. It has been enabled
in Linux Kernel.

Unfortunately, the result is problematic.  This is from XenServers basic
sanity testing.

(XEN) [ 1071.542192] Assertion 'socket_info' failed at psr.c:1297
(XEN) [ 1071.542202] ----[ Xen-4.10.0-xs139419-d  x86_64  debug=y   Not tainted 
]----
(XEN) [ 1071.542207] CPU:    14
(XEN) [ 1071.542211] RIP:    e008:[<ffff82d0802a948f>] psr_domain_free+0x23/0xcc
(XEN) [ 1071.542223] RFLAGS: 0000000000010246   CONTEXT: hypervisor
(XEN) [ 1071.542229] rax: 0000000000000000   rbx: ffff8308291c8000   rcx: 
00000000004016c2
(XEN) [ 1071.542235] rdx: ffff831005317fff   rsi: 0000000000000000   rdi: 
ffff8308291c8000
(XEN) [ 1071.542241] rbp: ffff831005317da0   rsp: ffff831005317d70   r8:  
0000000000000000
(XEN) [ 1071.542246] r9:  0000000000000001   r10: 0200000000000000   r11: 
0000000000000001
(XEN) [ 1071.542252] r12: 00000000ffffffff   r13: ffff8308291c8aa8   r14: 
ffff8308291c8000
(XEN) [ 1071.542258] r15: ffff830829988000   cr0: 000000008005003b   cr4: 
00000000000426e0
(XEN) [ 1071.542263] cr3: 00000000cce80000   cr2: ffff88000234d298
(XEN) [ 1071.542268] ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: 
e008
(XEN) [ 1071.542276] Xen code around <ffff82d0802a948f> 
(psr_domain_free+0x23/0xcc):
(XEN) [ 1071.542280]  3d a3 70 1c 00 00 75 02 <0f> 0b 49 83 be 60 09 00 00 00 
0f 84 89 00 00 00
(XEN) [ 1071.542299] Xen stack trace from rsp=ffff831005317d70:
(XEN) [ 1071.542302]    ffff8308291c8000 ffff8308291c8000 00000000ffffffff 
ffff8308291c8aa8
(XEN) [ 1071.542311]    ffff8308291c8000 ffff830829988000 ffff831005317dc0 
ffff82d08027cc31
(XEN) [ 1071.542321]    ffff8308291c8aa8 ffff8300cd159000 ffff831005317df0 
ffff82d0802080f7
(XEN) [ 1071.542365]    ffff8308299b0040 0000000000000000 0000000000000000 
ffff831005317fff
(XEN) [ 1071.542372]    ffff831005317e20 ffff82d08022a86f ffff82d08059ab00 
ffff82d08059b200
(XEN) [ 1071.542380]    ffff82d08059ab00 fffffffffffffffd ffff831005317e50 
ffff82d08023b75f
(XEN) [ 1071.542389]    000000000000000e ffff8308299af670 ffff8308299af748 
000000000000000e
(XEN) [ 1071.542396]    ffff831005317e60 ffff82d08023b79f ffff831005317ee0 
ffff82d0802d792f
(XEN) [ 1071.542405]    ffff82d080365cb3 ffff82d08059b200 ffff82d08059ab00 
ffffffffffffffff
(XEN) [ 1071.542413]    ffff831005317fff 0000000000000000 0000000000000000 
00001fcc00001f07
(XEN) [ 1071.542420]    000000000000000e 000000000000000e ffff82d0805e4b10 
ffff831005317fff
(XEN) [ 1071.542428]    000000000000000e ffff830829988000 ffff831005317f10 
ffff82d08027b6dc
(XEN) [ 1071.542436]    ffff830829923000 ffff8300cd2e7000 ffff8300cd1ee000 
ffff830829923000
(XEN) [ 1071.542444]    ffff831005317da8 ffff880131e40000 0000000000000000 
0000000000000000
(XEN) [ 1071.542452]    000000000000000e ffff880131e43eb8 ffffffff81ae5878 
0000000000000246
(XEN) [ 1071.542459]    0000000000007ff0 ffff8800c653f921 0000000000000000 
0000000000000000
(XEN) [ 1071.542467]    ffffffff810013aa ffffffff81a40bc0 deadbeefdeadf00d 
deadbeefdeadf00d
(XEN) [ 1071.542475]    0000010000000000 ffffffff810013aa 000000000000e033 
0000000000000246
(XEN) [ 1071.542483]    ffff880131e43ea0 000000000000e02b c2c2c2c2c2c2c2c2 
c2c2c2c2c2c2c2c2
(XEN) [ 1071.542491]    c2c2c2c2c2c2c2c2 c2c2c2c2c2c2c2c2 c2c2c2c20000000e 
ffff8300cd2e7000
(XEN) [ 1071.542500] Xen call trace:
(XEN) [ 1071.542505]    [<ffff82d0802a948f>] psr_domain_free+0x23/0xcc
(XEN) [ 1071.542514]    [<ffff82d08027cc31>] arch_domain_destroy+0x88/0x8f
(XEN) [ 1071.542521]    [<ffff82d0802080f7>] 
domain.c#complete_domain_destroy+0x6f/0x192
(XEN) [ 1071.542528]    [<ffff82d08022a86f>] 
rcupdate.c#rcu_process_callbacks+0x141/0x1a3
(XEN) [ 1071.542536]    [<ffff82d08023b75f>] softirq.c#__do_softirq+0x7f/0x8a
(XEN) [ 1071.542542]    [<ffff82d08023b79f>] process_pending_softirqs+0x35/0x37
(XEN) [ 1071.542551]    [<ffff82d0802d792f>] mwait-idle.c#mwait_idle+0xfc/0x2dd
(XEN) [ 1071.542557]    [<ffff82d08027b6dc>] domain.c#idle_loop+0x72/0x8a
(XEN) [ 1071.542561]
(XEN) [ 1071.916649]
(XEN) [ 1071.918881] ****************************************
(XEN) [ 1071.924987] Panic on CPU 14:
(XEN) [ 1071.928771] Assertion 'socket_info' failed at psr.c:1297
(XEN) [ 1071.935265] ****************************************
(XEN) [ 1071.941375]
(XEN) [ 1071.943606] Reboot in five seconds...

The hardware is SandyBridge-EN, which has no PSR support as far as I am aware.  
As a first thought, psr_free_domain() should not be making any assertions about 
hardware state.

Not surprisingly, I hit this as well.

It seems to me that socket_info is set only if "psr" boot parameter is explicitly set *and* opt_cos_max is not sufficiently low. So ASSERT() should be either turned into 'if' or possibly be swapped with d->arch.psr_cos_ids test.


-boris

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.