• David S. Miller's avatar
    pkt_sched: Manage qdisc list inside of root qdisc. · 30723673
    David S. Miller authored
    Idea is from Patrick McHardy.
    
    Instead of managing the list of qdiscs on the device level, manage it
    in the root qdisc of a netdev_queue.  This solves all kinds of
    visibility issues during qdisc destruction.
    
    The way to iterate over all qdiscs of a netdev_queue is to visit
    the netdev_queue->qdisc, and then traverse it's list.
    
    The only special case is to ignore builting qdiscs at the root when
    dumping or doing a qdisc_lookup().  That was not needed previously
    because builtin qdiscs were not added to the device's qdisc_list.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    30723673
dev.c 116 KB