History log of /drivers/s390/cio/ccwreq.c
Revision Date Author Comments
0bf7fcf155160fd483af7ffdc50efd4be96f1c96 17-Aug-2014 Christoph Lameter <cl@linux.com> s390: cio driver &__get_cpu_var replacements

Use this_cpu_ptr() instead of &__get_cpu_var()

Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
63aef00b55d37e9fad837a8b38a2c261f0d32041 27-May-2014 Martin Schwidefsky <schwidefsky@de.ibm.com> s390/lowcore: replace lowcore irb array with a per-cpu variable

Remove the 96-byte irb array from the lowcore and create a per-cpu
variable instead. That way we will pick up any change in the definition
of the struct irb automatically.

Acked-By: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
6adbc9236bc01225c056757d6e0eb14cd0409dff 22-May-2014 Sebastian Ott <sebott@linux.vnet.ibm.com> s390/cio: remove weird assignment during argument evaluation

Get rid of a useless assignment during argument evaluation.

No functional change.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
75a1c61b434759bf8f2c0118151713b010b44705 30-Oct-2011 Sebastian Ott <sebott@linux.vnet.ibm.com> [S390] cio: add message for timeouts on internal I/O

Print a message in case we do not receive an IRQ in time (for internal
I/O). Also print the ID of the last used channel path, since it is
possible that not the device itself but this specific path might have
a defect.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
982bdf814616bec77c920e16ea4108d409f144ed 09-Aug-2010 Sebastian Ott <sebott@linux.vnet.ibm.com> [S390] ccwreq: add ability to use all paths

Change the ccwrequest infrastructure to use more than one channel
path per start I/O. A flag "singlepath" is added to struct
ccw_request - if set, the old behavior is used. This flag is set
for all exploiters of the ccwrequest infrastructure - so there
is no functional change through this patch.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
dbedd0ee47313f2a3c94b19346785fcdfa721390 09-Aug-2010 Michael Ernst <mernst@de.ibm.com> [S390] cio: Log the response from the unit check handler

Log the response from the unit check handler which triggers further
cio internal i/o processing.

Signed-off-by: Michael Ernst <mernst@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
094f2100d6bb16ef0c4f82167cc55173ca22ee93 26-May-2010 Michael Ernst <mernst@de.ibm.com> [S390] cio: unit check handling during internal I/O

Send unit checks that occur during internal I/O to the device driver
and react according to its return code.

Signed-off-by: Michael Ernst <mernst@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
cbb870c8221147ae337612e04b2bb0211f31a74b 26-Feb-2010 Heiko Carstens <heiko.carstens@de.ibm.com> [S390] Cleanup struct _lowcore usage and defines.

Use asm offsets to make sure the offset defines to struct _lowcore and
its layout don't get out of sync.
Also add a BUILD_BUG_ON() which checks that the size of the structure
is sane.
And while being at it change those sites which use odd casts to access
the current lowcore. These should use S390_lowcore instead.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
d302e1a5dbe1677a495033a2d310656a55139cdf 18-Dec-2009 Peter Oberparleiter <peter.oberparleiter@de.ibm.com> [S390] cio: fix channel path vary

Channel path vary is currently broken: channel paths which are varied
offline are still used by Linux. The reason for this is that:

* the path mask indicating which paths of an I/O device can be used
is reset by each internal I/O request
* the logic that checks if a path group is already in its designated
target state incorrectly interprets the result "is correctly set"
as "is correctly set and available"

Fix this by resetting the path mask only for internal I/O requests
which affect the path mask and by correcting the pgid check logic.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
de1b04388f63cbddf91d9f6c50c29be7232881ca 07-Dec-2009 Peter Oberparleiter <peter.oberparleiter@de.ibm.com> [S390] cio: improve error recovery for internal I/Os

Improve error recovery for internal I/Os by repeating each I/O
256 times per path to cope with long-running non-permanent error
conditions. Also retry each path twice to cope with link flapping,
i.e. single paths becoming unavailable in the order in which they
are tried.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
e1f0fbd655539b0093738f58d57db83a0ac2dd6c 07-Dec-2009 Peter Oberparleiter <peter.oberparleiter@de.ibm.com> [S390] cio: consistent infrastructure for internal I/O requests

Reduce code duplication by introducing a central infrastructure to
perform an internal I/O operation on a CCW device.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>