• Julian Wiedmann's avatar
    s390/qeth: improve completion of pending TX buffers · c20383ad
    Julian Wiedmann authored
    The current design attaches a pending TX buffer to a custom
    single-linked list, which is anchored at the buffer's slot on the
    TX ring. The buffer is then checked for final completion whenever
    this slot is processed during a subsequent TX NAPI poll cycle.
    
    But if there's insufficient traffic on the ring, we might never make
    enough progress to get back to this ring slot and discover the pending
    buffer's final TX completion. In particular if this missing TX
    completion blocks the application from sending further traffic.
    
    So convert the custom single-linked list code to a per-queue list_head,
    and scan this list on every TX NAPI cycle.
    
    Fixes: 0da9581d ("qeth: exploit asynchronous delivery of storage blocks")
    Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c20383ad
qeth_core_main.c 192 KB