• Andi Kleen's avatar
    [NET]: NETIF_F_LLTX for devices · 73d0d56a
    Andi Kleen authored
    New version of the NETIF_F_LLTX for network devices patch. 
    
    This allows network drivers to set the NETIF_F_LLTX flag
    and then do their own locking in start_queue_xmit. 
    This lowers locking overhead in this critical path. 
    
    The drivers can use try lock if they want and return -1
    when the lock wasn't grabbed. In this case the packet
    will be requeued. For better compatibility this is only
    done for drivers with LLTX set, others don't give a special
    meaning to -1.
    
    Most of the modern drivers who have a lock around hard_start_xmit
    can just set this flag. It may be a good idea to convert the spin
    lock there to a try lock. The only thing that should be audited
    is that they do enough locking in the set_multicast_list function
    too, and not also rely on xmit_lock here.
    
    Now doesn't move any code around and does things with gotos instead.
    
    The loop printk is also still there even for NETIF_F_LLTX
    
    For drivers that don't set the new flag nothing changes.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    73d0d56a
sch_generic.c 13.7 KB