lkml.org 
[lkml]   [2007]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[2.6.20.21 review 03/35] r8169: avoid needless NAPI poll scheduling
    Theory  : though needless, it should not have hurt.
    Practice: it does not play nice with DEBUG_SHIRQ + LOCKDEP + UP
    (see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=3D242572).


    The patch makes sense in itself but I should dig why it has an effect
    on #242572 (assuming that NAPI do not change in a near future).

    Patch in mainline as 313b0305b5a1e7e0fb39383befbf79558ce68a9c.
    Backported to 2.6.22-stable by Thomas M=FCller.

    Signed-off-by: Thomas M=FCller <thomas@mathtm.de>
    Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    drivers/net/r8169.c | 18 ++++++++++--------
    1 files changed, 10 insertions(+), 8 deletions(-)

    Index: 2.6/drivers/net/r8169.c
    ===================================================================
    --- 2.6.orig/drivers/net/r8169.c
    +++ 2.6/drivers/net/r8169.c
    @@ -2646,14 +2646,16 @@ rtl8169_interrupt(int irq, void *dev_ins
    rtl8169_check_link_status(dev, tp, ioaddr);

    #ifdef CONFIG_R8169_NAPI
    - RTL_W16(IntrMask, rtl8169_intr_mask & ~rtl8169_napi_event);
    - tp->intr_mask = ~rtl8169_napi_event;
    + if (status & rtl8169_napi_event) {
    + RTL_W16(IntrMask, rtl8169_intr_mask & ~rtl8169_napi_event);
    + tp->intr_mask = ~rtl8169_napi_event;

    - if (likely(netif_rx_schedule_prep(dev)))
    - __netif_rx_schedule(dev);
    - else if (netif_msg_intr(tp)) {
    - printk(KERN_INFO "%s: interrupt %04x taken in poll
    ",
    - dev->name, status);
    + if (likely(netif_rx_schedule_prep(dev)))
    + __netif_rx_schedule(dev);
    + else if (netif_msg_intr(tp)) {
    + printk(KERN_INFO "%s: interrupt %04x in poll
    ",
    + dev->name, status);
    + }
    }
    break;
    #else
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-10-13 16:47    [W:0.021 / U:29.464 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site