• Íñigo Huguet's avatar
    net:cxgb3: replace tasklets with works · 5e0b8928
    Íñigo Huguet authored
    OFLD and CTRL TX queues can be stopped if there is no room in
    their DMA rings. If this happens, they're tried to be restarted
    later after having made some room in the corresponding ring.
    
    The tasks of restarting these queues were triggered using
    tasklets, but they can be replaced for workqueue works, getting
    them out of softirq context.
    
    This queues stop/restart probably doesn't happen often and they
    can be quite lengthy because they try to send all pending skbs.
    Moreover, given that probably the ring is not empty yet, so the
    DMA still has work to do, we don't need to be so fast to justify
    using tasklets/softirq instead of running in a thread.
    Signed-off-by: default avatarÍñigo Huguet <ihuguet@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5e0b8928
common.h 24.1 KB