lkml.org 
[lkml]   [2008]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [RFC][PATCH] netconsole: avoid deadlock on printk from driver code
    From
    From: Vegard Nossum <vegardno@ifi.uio.no>
    Date: Wed, 13 Aug 2008 11:53:24 +0200

    > [PATCH] netconsole: avoid deadlock on printk from driver code
    >
    > I encountered a hard-to-debug deadlock when I pulled out the plug of my
    > RealTek 8139 which was also running netconsole: The driver wants to print
    > a "link down" message. However, this triggers netconsole, which wants to
    > print the message using the same device. Here is a backtrace:

    See my other reply, this is absolutely the wrong way to go about
    this.

    You only have two sane options:

    1) Defer the link status printk message into a deferred context,
    such as a workqueue, so that you can do it outside of the
    lock.

    2) Do your locking differently so that the link status handling
    locking does not bisect the locking used for packet transmit
    in ->hard_start_xmit().

    #2 is the reason why most other drivers don't have this silly
    bug, they don't hold TX path locks when handling link status
    and printing out such messages.


    \
     
     \ /
      Last update: 2008-08-13 12:41    [W:0.026 / U:152.048 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site