• Pradeep Nemavat's avatar
    mwl8k: Do not stop tx queues · 3a7dbc3b
    Pradeep Nemavat authored
    This is in preparation to support life time expiry of packets in the
    hardware to avoid head-of-line blocking where a slow client can
    hog a tx queue and affect the traffic to a faster client from the same
    queue. Time stamp the packets in driver to allow dropping them in the
    hardware if they are queued for more than 500ms.
    If queues are stopped, packets will be queued up outside the driver.
    Since we will be able to timestamp the packets only after they hit the
    driver, the timestamp will be less accurate since we cannot consider
    the time the packets spent in queues outside the driver. With this commit,
    to achieve accurate timestamping, the tx queues will not be stopped in
    normal conditions. The only scenarios where the queues will be stopped are
    when firmware commands are executing or if the interface is brought down.
    Now, we need to be prepared for a situation where packets hit the driver
    even after the tx queues are full. Drop all such packets in the driver itself.
    Signed-off-by: default avatarPradeep Nemavat <pnemavat@marvell.com>
    Signed-off-by: default avatarNishant Sarmukadam <nishants@marvell.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
mwl8k.c 137 KB