• Eric Dumazet's avatar
    sch_sfq: rehash queues in perturb timer · 225d9b89
    Eric Dumazet authored
    A known Out Of Order (OOO) problem hurts SFQ when timer changes
    perturbation value, since all new packets delivered to SFQ enqueue might
    end on different slots than previous in-flight packets.
    
    With round robin delivery, we can thus deliver packets in a different
    order.
    
    Since SFQ is limited to small amount of in-flight packets, we can rehash
    packets so that this OOO problem is fixed.
    
    This rehashing is performed only if internal flow classifier is in use.
    
    We now store in skb->cb[] the "struct flow_keys" so that we dont call
    skb_flow_dissect() again while rehashing.
    Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    225d9b89
sch_sfq.c 17.7 KB