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, 16 Dec 2013 13:37:40 +0000 (14:37 +0100)
commit449666dd1efacaf3f0eb020cc617dd702356575c
tree6c95cfa4ace2f56d87947e814fbbd2568351c22b
parent319e2e3f63c348a9b66db4667efa73178e18b17d
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