diff options
author | Sebastian Ott <sebott@linux.ibm.com> | 2018-06-25 11:23:26 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2018-07-17 07:27:54 +0200 |
commit | 05b217f4c5573f34f6799698f7d4162c702132bc (patch) | |
tree | 5678caf88c1ae544b4f3f81f4cdc8332d0ba19b5 /drivers/s390/cio/cio.h | |
parent | s390/css: start the subchannel evaluation earlier (diff) | |
download | linux-05b217f4c5573f34f6799698f7d4162c702132bc.tar.xz linux-05b217f4c5573f34f6799698f7d4162c702132bc.zip |
s390/css: validate subchannel prior to allocation
In css_alloc_subchannel we allocate the subchannel and do a
validation of the subchannel (to decide if we should look for
devices via this subchannel). On a typical LPAR we find lots
of subchannels to be invalid (because there is no device
attached or the device is blacklisted) leading to lots of
useless kmalloc and kfree calls.
This patch changes the order to only allocate the subchannels
that have been found valid.
Signed-off-by: Sebastian Ott <sebott@linux.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/cio.h')
-rw-r--r-- | drivers/s390/cio/cio.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/cio/cio.h b/drivers/s390/cio/cio.h index 94cd813bdcfe..234aa068dd8f 100644 --- a/drivers/s390/cio/cio.h +++ b/drivers/s390/cio/cio.h @@ -119,7 +119,7 @@ DECLARE_PER_CPU(struct irb, cio_irb); #define to_subchannel(n) container_of(n, struct subchannel, dev) -extern int cio_validate_subchannel (struct subchannel *, struct subchannel_id); +extern int cio_validate_subchannel(struct subchannel_id, struct schib *); extern int cio_enable_subchannel(struct subchannel *, u32); extern int cio_disable_subchannel (struct subchannel *); extern int cio_cancel (struct subchannel *); |