2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-26 22:24:09 +08:00
linux-next/drivers/s390
Julian Wiedmann 54a50941b7 s390/qeth: stop/wake TX queues based on their fill level
Current xmit code only stops the txq after attempting to fill an
IO buffer that hasn't been TX-completed yet. In many-connection
scenarios, this can result in frequent rejected TX attempts, requeuing
of skbs with NETDEV_TX_BUSY and extra overhead.

Now that we have a proper 1-to-1 relation between stack-side txqs and
our HW Queues, overhaul the stop/wake logic so that the xmit code
stops the txq as needed.
Given that we might map multiple skbs into a single buffer, it's crucial
to ensure that the queue always provides an _entirely_ empty IO buffer.
Otherwise large skbs (eg TSO) might not fit into the last available
buffer. So whenever qeth_do_send_packet() first utilizes an _empty_
buffer, it updates & checks the used_buffers count.

This now ensures that an skb passed to qeth_xmit() can always be mapped
into an IO buffer, so remove all of the -EBUSY roll-back handling in the
TX path. We preserve the minimal safety-checks ("Is this IO buffer
really available?"), just in case some nasty future bug ever attempts to
corrupt an in-use buffer.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-04-17 10:33:59 -07:00
..
block s390 updates for the 5.1 merge window 2019-03-05 11:13:10 -08:00
char s390 updates for the 5.1 merge window 2019-03-05 11:13:10 -08:00
cio s390 update with improvements and bug fixes for 5.1-rc2 2019-03-28 08:35:32 -07:00
crypto zcrypt: handle AP Info notification from CHSC SEI command 2019-03-11 10:16:42 -07:00
net s390/qeth: stop/wake TX queues based on their fill level 2019-04-17 10:33:59 -07:00
scsi scsi: zfcp: reduce flood of fcrscn1 trace records on multi-element RSCN 2019-03-27 21:26:12 -04:00
virtio virtio-ccw: wire up ->bus_name callback 2019-03-06 11:19:56 -05:00
Makefile kbuild: rename built-in.o to built-in.a 2018-03-26 02:01:19 +09:00