]> git.baikalelectronics.ru Git - kernel.git/commit
[S390] qdio: 2nd stage retry on SIGA-W busy conditions
authorJan Glauber <jang@linux.vnet.ibm.com>
Wed, 3 Aug 2011 14:44:17 +0000 (16:44 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Wed, 3 Aug 2011 14:44:19 +0000 (16:44 +0200)
commitd090e3a9a0827de2505215afd52742c0b7a980a4
tree39fc55cde3cdf81aea341dd1de1d2957988b97b1
parent0d09f2796d8152f78d78b7e85f1447f38c99a524
[S390] qdio: 2nd stage retry on SIGA-W busy conditions

The SIGA-W may return with the busy bit set which means the device was
blocked. The busy loop which retries the SIGA-W for 100us may not be
long enough when running under a heavily loaded hypervisor.

Extend the retry mechanism by adding a longer second stage which retries
the SIGA-W for up to 10s. In difference to the first retry loop the second
stage is using mdelay to stop the cpu between the retries and thereby
avoid additional preassure in on the hypervisor.
If the second stage retry is successfull a device reset is avoided.

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
drivers/s390/cio/qdio.h
drivers/s390/cio/qdio_main.c