• Eric Dumazet's avatar
    hinic: remove ndo_poll_controller · e71fb423
    Eric Dumazet authored
    As diagnosed by Song Liu, ndo_poll_controller() can
    be very dangerous on loaded hosts, since the cpu
    calling ndo_poll_controller() might steal all NAPI
    contexts (for all RX/TX queues of the NIC). This capture
    can last for unlimited amount of time, since one
    cpu is generally not able to drain all the queues under load.
    
    hinic uses NAPI for TX completions, so we better let core
    networking stack call the napi->poll() to avoid the capture.
    
    Note that hinic_netpoll() was incorrectly scheduling NAPI
    on both RX and TX queues.
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Cc: Aviad Krawczyk <aviad.krawczyk@huawei.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e71fb423
hinic_main.c 26.5 KB