From: Janis Schoetterl-Glausch <scgl@linux.vnet.ibm.com>
To: David Hildenbrand <david@redhat.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
Cornelia Huck <cohuck@redhat.com>,
Janis Schoetterl-Glausch <scgl@linux.ibm.com>,
Janosch Frank <frankja@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>
Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>,
"open list:KERNEL VIRTUAL MACHINE for s390 (KVM/s390)"
<kvm@vger.kernel.org>,
"open list:S390" <linux-s390@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] KVM: s390: Enable specification exception interpretation
Date: Tue, 6 Jul 2021 17:27:21 +0200 [thread overview]
Message-ID: <8318ce18-65ea-8b4d-4df1-9f9ba79f2bb7@linux.vnet.ibm.com> (raw)
In-Reply-To: <c7d61761-3426-6e44-99a8-7aa9e1cad5b6@redhat.com>
On 7/6/21 5:16 PM, David Hildenbrand wrote:
> On 06.07.21 14:02, Christian Borntraeger wrote:
>>
>>
>> On 06.07.21 13:59, David Hildenbrand wrote:
>>> On 06.07.21 13:56, Christian Borntraeger wrote:
>>>>
>>>>
>>>> On 06.07.21 13:52, Cornelia Huck wrote:
>>>>> On Tue, Jul 06 2021, Janis Schoetterl-Glausch <scgl@linux.ibm.com> wrote:
>>>>>
>>>>>> When this feature is enabled the hardware is free to interpret
>>>>>> specification exceptions generated by the guest, instead of causing
>>>>>> program interruption interceptions.
>>>>>>
>>>>>> This benefits (test) programs that generate a lot of specification
>>>>>> exceptions (roughly 4x increase in exceptions/sec).
>>>>>>
>>>>>> Interceptions will occur as before if ICTL_PINT is set,
>>>>>> i.e. if guest debug is enabled.
>>>>>>
>>>>>> Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
>>>>>> ---
>>>>>> I'll additionally send kvm-unit-tests for testing this feature.
>>>>>>
>>>>>> arch/s390/include/asm/kvm_host.h | 1 +
>>>>>> arch/s390/kvm/kvm-s390.c | 2 ++
>>>>>> arch/s390/kvm/vsie.c | 2 ++
>>>>>> 3 files changed, 5 insertions(+)
>>>>>
>>>>> (...)
>>>>>
>>>>>> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
>>>>>> index b655a7d82bf0..aadd589a3755 100644
>>>>>> --- a/arch/s390/kvm/kvm-s390.c
>>>>>> +++ b/arch/s390/kvm/kvm-s390.c
>>>>>> @@ -3200,6 +3200,8 @@ static int kvm_s390_vcpu_setup(struct kvm_vcpu *vcpu)
>>>>>> vcpu->arch.sie_block->ecb |= ECB_SRSI;
>>>>>> if (test_kvm_facility(vcpu->kvm, 73))
>>>>>> vcpu->arch.sie_block->ecb |= ECB_TE;
>>>>>> + if (!kvm_is_ucontrol(vcpu->kvm))
>>>>>> + vcpu->arch.sie_block->ecb |= ECB_SPECI;
>>>>>
>>>>> Does this exist for any hardware version (i.e. not guarded by a cpu
>>>>> feature?)
>>>>
>>>> Not for all hardware versions, but also no indication. The architecture
>>>> says that the HW is free to do this or not. (which makes the vsie code
>>>> simpler).
>>>
>>> I remember the architecture said at some point to never set undefined bits - and this bit is undefined on older HW generations. I might be wrong, though.
>>
>> I can confirm that this bit will be ignored on older machines. The notion of
>> never setting undefined bits comes from "you never know what this bit will
>> change in future machines". Now we know :-)
>
> Well, okay then :)
>
> So the plan for vSIE is to always keep it disabled? IIUC, one could similarly always forward the bit of set.
The bit does get copied for vSIE.
next prev parent reply other threads:[~2021-07-06 15:27 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-06 11:47 [PATCH] KVM: s390: Enable specification exception interpretation Janis Schoetterl-Glausch
2021-07-06 11:52 ` Cornelia Huck
2021-07-06 11:56 ` Christian Borntraeger
2021-07-06 11:59 ` David Hildenbrand
2021-07-06 12:02 ` Christian Borntraeger
2021-07-06 15:16 ` David Hildenbrand
2021-07-06 15:27 ` Janis Schoetterl-Glausch [this message]
2021-07-07 7:26 ` David Hildenbrand
2021-07-06 11:55 ` David Hildenbrand
2021-07-07 8:30 ` Christian Borntraeger
2021-07-07 8:54 ` Cornelia Huck
2021-07-07 9:55 ` Janis Schoetterl-Glausch
2021-07-07 11:42 ` Cornelia Huck
2021-07-07 8:56 ` Janis Schoetterl-Glausch
2021-07-07 8:59 ` Christian Borntraeger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8318ce18-65ea-8b4d-4df1-9f9ba79f2bb7@linux.vnet.ibm.com \
--to=scgl@linux.vnet.ibm.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=scgl@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).