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

Re: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen platform



Konrad Rzeszutek Wilk wrote:
> On Thu, Jun 07, 2012 at 06:45:39AM +0000, Liu, Jinsong wrote:
>> Konrad Rzeszutek Wilk wrote:
>>> On Thu, May 31, 2012 at 12:57:44PM +0000, Liu, Jinsong wrote:
>>>>> From 1a7951d6ca01d7f2c9dd2bdb6de5f8e7fdcb8bbd Mon Sep 17 00:00:00
>>>>> 2001
>>>> From: root <root@xxxxxxxxxxxxxxxxxxxxxx>
>>>> Date: Fri, 1 Jun 2012 03:12:51 +0800
>>>> Subject: [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
>>>> 
>>>> When MCA error occurs, it would be handled by Xen hypervisor first,
>>>> and then the error information would be sent to initial domain for
>>>> logging. 
>>>> 
>>>> This patch gets error information from Xen hypervisor and convert
>>>> Xen format error into Linux format mcelog. This logic is basically
>>>> self-contained, not touching other kernel components.
>>>> 
>>>> By using tools like mcelog tool users could read specific error
>>>> information, like what they did under native Linux.
>>>> 
>>>> To test follow directions outlined in
>>>> Documentation/acpi/apei/einj.txt
>>> 
>>> [   53.264610] switch: port 1(eth0) entered forwarding state
>>> [ 1058.051938] BUG: sleeping function called from invalid context at
>>> /home/konrad/linux/include/linux/kernel.h:199 [ 1058.052066]
>>> in_atomic(): 1, irqs_disabled(): 0, pid: 4552, name: mcelog [
>>> 1058.052130] Pid: 4552, comm: mcelog Tainted: G           O
>>> 3.5.0-rc1upstream-00041-ga16e594-dirty #2 [ 1058.052235] Call Trace:
>>> [ 1058.052291]  [<ffffffff8109ad9a>] __might_sleep+0xda/0x100 [
>>> 1058.052349]  [<ffffffff8132a55b>] xen_mce_chrdev_read+0xab/0x140 [
>>> 1058.052408]  [<ffffffff81148d85>] vfs_read+0xc5/0x190 [
>>> 1058.052461] [<ffffffff81148f4c>] sys_read+0x4c/0x90 [ 1058.052515]
>>> [<ffffffff815bdd79>] system_call_fastpath+0x16/0x1
>>> 
>>> ?
>> 
>> I will debug it. Would you tell me the steps to reproduce the bug,
>> and your .config file? 
> 
> 
> # echo 0x00000008 > error_type
> # echo 1 > error_inject
> (XEN) CMCI: send CMCI to DOM0 through virq
> [  214.207962] BUG: sleeping function called from invalid context at
> /home/konradinux/kernel.h:199 [  214.208129] in_atomic(): 1,
> irqs_disabled(): 0, pid: 4581, name: mcelog [  214.208242] Pid: 4581,
> comm: mcelog Tainted: G           O
> 3.5.0-rc1upstream-00003-g149000b-dirty #1 # [  214.208384] Call
> Trace: [  214.208490]  [<ffffffff8109ad9a>] __might_sleep+0xda/0x100
> [  214.208606]  [<ffffffff81329b0b>] xen_mce_chrdev_read+0xab/0x140 [
> 214.208715]  [<ffffffff81148945>] vfs_read+0xc5/0x190 [  214.208816] 
> [<ffffffff81148b0c>] sys_read+0x4c/0x90 [  214.208923] 
> [<ffffffff815bd039>] system_call_fastpath+0x16/0x1b 
> 

Thanks! it caused by copy_to_user (might sleep) in an atomic spinlock context.
Send patch to fix it later, draft test OK.

Regards,
Jinsong
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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