• Julian Wiedmann's avatar
    s390/qdio: let driver manage the QAOB · 396c1004
    Julian Wiedmann authored
    We are spending way too much effort on qdio-internal bookkeeping for
    QAOB management & caching, and it's still not robust. Once qdio's
    TX path has detached the QAOB from a PENDING buffer, we lost all
    track of it until it shows up in a CQ notification again. So if the
    device is torn down before that notification arrives, we leak the QAOB.
    
    Just have the driver take care of it, and simply pass down a QAOB if
    they want a TX with async-completion capability. For a buffer in PENDING
    state that requires the QAOB for final completion, qeth can now also try
    to recycle the buffer's QAOB rather than unconditionally freeing it.
    
    This also eliminates the qdio_outbuf_state array, which was only needed
    to transfer the aob->user1 tag from the driver to the qdio layer.
    Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
    Acked-by: default avatarBenjamin Block <bblock@linux.ibm.com>
    Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    396c1004
qdio_main.c 37.5 KB