Skip to content

Commit

Permalink
[S390] qdio: output queue stall on FCP and network devices
Browse files Browse the repository at this point in the history
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: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
  • Loading branch information
Frank Pavlic authored and Martin Schwidefsky committed Jul 17, 2007
1 parent 92d154b commit 6cbed91
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/s390/cio/qdio.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,9 @@ qdio_check_ccq(struct qdio_q *q, unsigned int ccq)
{
char dbf_text[15];

if (ccq == 0 || ccq == 32 || ccq == 96)
if (ccq == 0 || ccq == 32)
return 0;
if (ccq == 97)
if (ccq == 96 || ccq == 97)
return 1;
/*notify devices immediately*/
sprintf(dbf_text,"%d", ccq);
Expand Down

0 comments on commit 6cbed91

Please sign in to comment.