lkml.org 
[lkml]   [2012]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [Xen-devel] [PATCH 1/2] xen/mce: Add mcelog support for Xen platform
    Date
    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@ljsromley.bj.intel.com>
    >>>> 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

    \
     
     \ /
      Last update: 2012-06-08 12:01    [W:0.051 / U:0.172 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site