s390/qeth: allocate a single cmd on read channel

We statically allocate 8 cmd buffers on the read channel, when the only
IO left that's still using them is the long-running READ.
Replace this with a single allocated cmd, that gets restarted whenever
the READ completed.

This introduces refcounting for allocated cmds, so that the READ cmd can
survive the IO completion.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Julian Wiedmann
2019-06-11 18:38:00 +02:00
committed by David S. Miller
parent f3b783b1d0
commit d9b9f40bba
4 changed files with 39 additions and 24 deletions

View File

@@ -1436,7 +1436,6 @@ static void qeth_l3_stop_card(struct qeth_card *card)
card->state = CARD_STATE_DOWN;
}
qeth_clear_cmd_buffers(&card->read);
qeth_clear_cmd_buffers(&card->write);
flush_workqueue(card->event_wq);
}