• Claudiu Manoil's avatar
    gianfar: Drop GFAR_MQ_POLLING support · 8eda54c5
    Claudiu Manoil authored
    Gianfar used to enable all 8 Rx queues (DMA rings) per
    ethernet device, even though the controller can only
    support 2 interrupt lines at most.  This meant that
    multiple Rx queues would have to be grouped per NAPI poll
    routine, and the CPU would have to split the budget and
    service them in a round robin manner.  The overhead of
    this scheme proved to outweight the potential benefits.
    The alternative was to introduce the "Single Queue" polling
    mode, supporting one Rx queue per NAPI, which became the
    default packet processing option and helped improve the
    performance of the driver.
    MQ_POLLING also relies on undocumeted device tree properties
    to specify how to map the 8 Rx and Tx queues to a given
    interrupt line (aka "interrupt group").  Using module parameters
    to enable this mode wasn't an option either.  Long story short,
    MQ_POLLING became obsolete, now it is just dead code, and no
    one asked for it so far.
    For the Tx queues, multi-queue support (more than 1 Tx queue
    per CPU) could be revisited by adding tc MQPRIO support, but
    again, one has to consider that there are only 2 interrupt lines.
    So the NAPI poll routine would have to service multiple Tx rings.
    Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8eda54c5
gianfar.c 92 KB