• Shannon Nelson's avatar
    ionic: change the descriptor ring length without full reset · a34e25ab
    Shannon Nelson authored
    The original way of changing ring length was to completely
    tear down the lif's queue structure and then rebuild it, while
    running the risk of allocations that might fail in the middle
    and leave us with a broken driver.
    
    Instead, we can set up all the new queue and descriptor
    allocations first, then swap them out and delete the old
    allocations.  If the new allocations fail, we report the error,
    stay with the old setup and continue running.  This gives us
    a safer path, and a smaller window of time where we're not
    processing traffic.
    Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a34e25ab
ionic_lif.c 77.6 KB