• Saeed Mahameed's avatar
    net/mlx5e: Don't wait for RQ completions on close · f2fde18c
    Saeed Mahameed authored
    This will significantly reduce receive queue flush time on interface
    down.
    
    Instead of asking the firmware to flush the RQ (Receive Queue) via
    asynchronous completions when moved to error, we handle RQ flush
    manually (mlx5e_free_rx_descs) same as we did when RQ flush got timed
    out.
    
    This will reduce RQs flush time and speedup interface down procedure
    (ifconfig down) from 6 sec to 0.3 sec on a 48 cores system.
    
    Moved mlx5e_free_rx_descs en_main.c where it is needed, to keep en_rx.c
    free form non critical data path code for better code locality.
    
    Fixes: 6cd392a0 ('net/mlx5e: Handle RQ flush in error cases')
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f2fde18c
en_rx.c 25 KB