• Salil Mehta's avatar
    net: hns3: Changes to support ARQ(Asynchronous Receive Queue) · 07a0556a
    Salil Mehta authored
    Current mailbox CRQ could consists of both synchronous and async
    responses from the PF. Synchronous responses are time critical
    and should be handed over to the waiting tasks/context as quickly
    as possible otherwise timeout occurs.
    
    Above problem gets accentuated if CRQ consists of even single
    async message. Hence, it is important to have quick handling of
    synchronous messages and maybe deferred handling of async messages
    This patch introduces separate ARQ(async receive queues) for the
    async messages. These messages are processed later with repsect
    to mailbox task while synchronous messages still gets processed
    in context to mailbox interrupt.
    
    ARQ is important as VF reset introduces some new async messages
    like MBX_ASSERTING_RESET which adds up to the presssure on the
    responses for synchronousmessages and they timeout even more
    quickly.
    Signed-off-by: default avatarSalil Mehta <salil.mehta@huawei.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    07a0556a
hclgevf_main.c 47.1 KB