Commit 6cbed91a authored by Frank Pavlic's avatar Frank Pavlic Committed by Martin Schwidefsky

[S390] qdio: output queue stall on FCP and network devices

When running QIOASSIST enabled qdio devices in a z/VM environment
the output queue for such devices stall in heavy workload situations.
When SQBS and EQBS instructions returns CCQ=96 qdio does not reissue
the instruction again with the register settings done by millicode
but processed the returned qdio buffer. This is wrong. qdio has to
reissue the instruction once again on CCQ=96, as we already do it
for CCQ=97.
Signed-off-by: default avatarFrank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 92d154b6
...@@ -166,9 +166,9 @@ qdio_check_ccq(struct qdio_q *q, unsigned int ccq) ...@@ -166,9 +166,9 @@ qdio_check_ccq(struct qdio_q *q, unsigned int ccq)
{ {
char dbf_text[15]; char dbf_text[15];
if (ccq == 0 || ccq == 32 || ccq == 96) if (ccq == 0 || ccq == 32)
return 0; return 0;
if (ccq == 97) if (ccq == 96 || ccq == 97)
return 1; return 1;
/*notify devices immediately*/ /*notify devices immediately*/
sprintf(dbf_text,"%d", ccq); sprintf(dbf_text,"%d", ccq);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment