lkml.org 
[lkml]   [2007]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 32/69] NETPOLL: Fix TX queue overflow in trapped mode.
    -stable review patch.  If anyone has any objections, please let us know.
    ---------------------

    From: Sergei Shtylyov <sshtylyov@ru.mvista.com>

    CONFIG_NETPOLL_TRAP causes the TX queue controls to be completely bypassed in
    the netpoll's "trapped" mode which easily causes overflows in the drivers with
    short TX queues (most notably, in 8139too with its 4-deep queue). So, make
    this option more sensible by making it only bypass the TX softirq wakeup.

    Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
    Acked-by: Jeff Garzik <jgarzik@pobox.com>
    Acked-by: Tom Rini <trini@kernel.crashing.org>
    Acked-by: Matt Mackall <mpm@selenic.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>
    ---
    include/linux/netdevice.h | 8 +++-----
    1 file changed, 3 insertions(+), 5 deletions(-)

    --- linux-2.6.21.1.orig/include/linux/netdevice.h
    +++ linux-2.6.21.1/include/linux/netdevice.h
    @@ -647,8 +647,10 @@ static inline void netif_start_queue(str
    static inline void netif_wake_queue(struct net_device *dev)
    {
    #ifdef CONFIG_NETPOLL_TRAP
    - if (netpoll_trap())
    + if (netpoll_trap()) {
    + clear_bit(__LINK_STATE_XOFF, &dev->state);
    return;
    + }
    #endif
    if (test_and_clear_bit(__LINK_STATE_XOFF, &dev->state))
    __netif_schedule(dev);
    @@ -656,10 +658,6 @@ static inline void netif_wake_queue(stru

    static inline void netif_stop_queue(struct net_device *dev)
    {
    -#ifdef CONFIG_NETPOLL_TRAP
    - if (netpoll_trap())
    - return;
    -#endif
    set_bit(__LINK_STATE_XOFF, &dev->state);
    }

    --
    -
    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-05-21 21:53    [W:0.023 / U:30.156 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site