KVM: s390: Make huge pages unavailable in ucontrol VMs
authorJanosch Frank <frankja@linux.ibm.com>
Wed, 1 Aug 2018 10:48:28 +0000 (11:48 +0100)
committerJanosch Frank <frankja@linux.ibm.com>
Wed, 12 Sep 2018 12:46:37 +0000 (14:46 +0200)
commit40ebdb8e59df36e2cc71810bd021a0808b16c956
tree636895d9c4298e3c178ee73fc7ff00e1e5345aa0
parent1843abd03250115af6cec0892683e70cf2297c25
KVM: s390: Make huge pages unavailable in ucontrol VMs

We currently do not notify all gmaps when using gmap_pmdp_xchg(), due
to locking constraints. This makes ucontrol VMs, which is the only VM
type that creates multiple gmaps, incompatible with huge pages. Also
we would need to hold the guest_table_lock of all gmaps that have this
vmaddr maped to synchronize access to the pmd.

ucontrol VMs are rather exotic and creating a new locking concept is
no easy task. Hence we return EINVAL when trying to active
KVM_CAP_S390_HPAGE_1M and report it as being not available when
checking for it.

Fixes: a4499382 ("KVM: s390: Add huge page enablement control")
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20180801112508.138159-1-frankja@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Documentation/virtual/kvm/api.txt
arch/s390/kvm/kvm-s390.c