Re: [RFC/PATCH 21/22] KVM: s390: Add KVM HPAGE capability

Janosch Frank
2017-11-15T12:03:04Z

[-- Attachment #1.1: Type: text/plain, Size: 2504 bytes --]

On 15.11.2017 11:06, David Hildenbrand wrote:
> On 06.11.2017 23:29, Janosch Frank wrote:
>> KVM huge page backing support can not be easily tested under
>> s390. Currently testing is only possible after most of the guest has
>> already been set up.
>>
>> To indicate, that KVM has huge page backing support, we add the
>> KVM_CAP_S390_HPAGE capability. This does not mean, that transparent
>> huge pages are supported.
>
> Are there any plans to support it? (my feeling is that it could be
> somewhat tricky :) )

Better safe than sorry was the idea behind that.
By the way, this lacks the capability announcement in
kvm_vm_ioctl_check_extension() but I already fixed that for v2.

>
>>
>> Signed-off-by: Janosch Frank <frankja@linux.vnet.ibm.com>
>> ---
>> include/uapi/linux/kvm.h | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
>> index 8388875..2cd359a 100644
>> --- a/include/uapi/linux/kvm.h
>> +++ b/include/uapi/linux/kvm.h
>> @@ -930,6 +930,7 @@ struct kvm_ppc_resize_hpt {
>> #define KVM_CAP_PPC_SMT_POSSIBLE 147
>> #define KVM_CAP_HYPERV_SYNIC2 148
>> #define KVM_CAP_HYPERV_VP_INDEX 149
>> +#define KVM_CAP_S390_HPAGE 150
>>
> What about facilities/features that require PGSTE to be around. Have we
> fixed up all handlers? (I remember some features/instructions triggering
> special SIE exits in case they hit a large pmd in the gmap).
>
> Which of these facilities will we have to disable in user space? (e.g.
> we already handle CMM in QEMU if we detect explicit huge pages).
>
> (lack of public documentation makes this hard to review/understand)

Most facilities tolerate edat in a way, that changes are not necessary.
CMMA for example would still be interpreted but it would only accept the
stable/resident state. SKEYS have the RCP bypass. PFMF gets intercepted,
however, it doesn't use the GMAP, but the user mapping for clearing.
Also you already disabled a lot for VSIE, like pfmf interpretation.
Emulation in l2 for l3 and RRBE are still on the TODO list for complete
evaluation.

This is a valid concern for everyone involved and I scan as much
hardware documentation as possible. I have prepared unit tests for pfmf,
cmm, cmma and storage key operations in an effort to test as much as
possible in each level of SIE. Unfortunately I can't yet publish them,
but I will, as soon as I'm allowed.
I still wish for a way to disable skeys completely.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]