diff options
author | Jens Freimann <jfrei@linux.vnet.ibm.com> | 2014-01-30 08:40:23 +0100 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-01-30 10:25:23 +0100 |
commit | a91b8ebe8671980151e0a19ee9fec6b0e1ae1d58 (patch) | |
tree | cb49f6acefa5925bc5f525795ca737b9fe4cfe86 /arch/s390/include/asm | |
parent | c05c4186bbe4e99d64e8a36f7ca7f480da5d109f (diff) | |
download | op-kernel-dev-a91b8ebe8671980151e0a19ee9fec6b0e1ae1d58.zip op-kernel-dev-a91b8ebe8671980151e0a19ee9fec6b0e1ae1d58.tar.gz |
KVM: s390: limit floating irqs
Userspace can flood the kernel with interrupts as of now, so let's
limit the number of pending floating interrupts injected via either
the floating interrupt controller or the KVM_S390_INTERRUPT ioctl.
We can have up to 4*64k pending subchannels + 8 adapter interrupts,
as well as up to ASYNC_PF_PER_VCPU*KVM_MAX_VCPUS pfault done interrupts.
There are also sclp and machine checks. This gives us
(4*65536+8+64*64+1+1) = 266250 interrupts.
Suggested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm')
-rw-r--r-- | arch/s390/include/asm/kvm_host.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h index 59635b5..c3c5e10 100644 --- a/arch/s390/include/asm/kvm_host.h +++ b/arch/s390/include/asm/kvm_host.h @@ -214,6 +214,7 @@ struct kvm_s390_float_interrupt { unsigned long idle_mask[(KVM_MAX_VCPUS + sizeof(long) - 1) / sizeof(long)]; struct kvm_s390_local_interrupt *local_int[KVM_MAX_VCPUS]; + unsigned int irq_count; }; |