]> 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)
commited343dffb1371d231e71093fee09cfc0143fcd59
tree39fc55cde3cdf81aea341dd1de1d2957988b97b1
parentf98e483afba9960249e6f701719a108478aa6b9c
[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