s390/qdio: allow to scan all 128 Input SBALs
authorJulian Wiedmann <jwi@linux.ibm.com>
Wed, 17 Jun 2020 13:30:14 +0000 (15:30 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Mon, 20 Jul 2020 08:55:22 +0000 (10:55 +0200)
The comment is inaccurate, qdio_inbound_q_moved() and/or its callers no
longer get confused by a count of 128 completed SBALs.

Scanning all 128 SBALs at once can improve IRQ reduction (as we now
place the ACK at the right spot), and reduce the amount of processing
needed to handle all completed SBALs.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
drivers/s390/cio/qdio_main.c

index d4c6997..0c1f186 100644 (file)
@@ -457,11 +457,7 @@ static int get_inbound_buffer_frontier(struct qdio_q *q, unsigned int start)
 
        q->timestamp = get_tod_clock_fast();
 
-       /*
-        * Don't check 128 buffers, as otherwise qdio_inbound_q_moved
-        * would return 0.
-        */
-       count = min(atomic_read(&q->nr_buf_used), QDIO_MAX_BUFFERS_MASK);
+       count = atomic_read(&q->nr_buf_used);
        if (!count)
                return 0;