]> git.karo-electronics.de Git - karo-tx-linux.git/commit
s390/cio: More efficient handling of CHPID availability events
authorPeter Oberparleiter <oberpar@linux.vnet.ibm.com>
Tue, 26 Nov 2013 13:55:56 +0000 (14:55 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 2 Dec 2013 17:15:47 +0000 (18:15 +0100)
commit108bef315d7ad45c1aae53f3e41064e9b91553fc
treee572c6d91506e448f398068d5efcdf05a61c75af
parente455c156c7cb544cd9e77e143c19e9315f212937
s390/cio: More efficient handling of CHPID availability events

The CIO layer processes hardware events that indicate that a channel
path has become available by performing a scan of available subchannels
using the Store Subchannel (STSCH) instruction. Performing too many
STSCH instructions in a tight loop can cause high Hypervisor overhead
which can negatively impact the performance of the virtual machine as
a whole.

This patch reduces the number of STSCH instructions performed while
processing a resource accessibility event and while varying a CHPID
online.

In both cases, Linux first performs a STSCH instruction on each unused
subchannel to see if the subchannel has become available. If the STSCH
instruction indicates that the subchannel is available, a full
evaluation of this subchannel is scheduled. Since the full evaluation
includes performing a STSCH instruction, the initial STSCH is
unnecessary and can be removed.

Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Reviewed-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/chsc.c