s390/qdio: restrict buffer merging to eligible devices
authorJulian Wiedmann <jwi@linux.vnet.ibm.com>
Wed, 7 Mar 2018 13:19:43 +0000 (14:19 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 26 Mar 2018 14:12:48 +0000 (16:12 +0200)
Only attempt to merge PENDING into EMPTY buffers for devices where
the PENDING state is actually expected (ie. IQD with CQ).
This might speed up the hot path a little bit.

Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Reviewed-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/qdio_main.c

index bd26df8..63c6e9c 100644 (file)
@@ -761,7 +761,8 @@ static int get_outbound_buffer_frontier(struct qdio_q *q)
        if (!count)
                goto out;
 
-       count = get_buf_states(q, q->first_to_check, &state, count, 0, 1);
+       count = get_buf_states(q, q->first_to_check, &state, count, 0,
+                              q->u.out.use_cq);
        if (!count)
                goto out;