Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1235526pxv; Fri, 23 Jul 2021 03:27:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyUnevD1OzE1YLiC8J/V4TwbhWthoj0gImucQb+mfq01q7gM529u5T4QwO7D60Fn6FnmyFO X-Received: by 2002:aa7:dc02:: with SMTP id b2mr4589870edu.46.1627036057454; Fri, 23 Jul 2021 03:27:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627036057; cv=none; d=google.com; s=arc-20160816; b=hUPrgogq17nKRa9aG4SqLX01bqLlbDNfzkba2a3lymlfqPXaqtt/5r3rjxy/M4fgZv 1I7jpRpeGb+fM3+CjA2a5AZOlNY7uQkBLYbmOa+eqsi3x2eAOE9q3JGYg6eanUiLi1EY RHlRyuuP9bGws5ZrUMPsXEk0GaJDLH0Ixvnk7OsVnrOWeq9yBCRwz9bC53s98omBE60k BL+0OrX3QmFGNJQAx7Jx3f/BlO3oD8+jYoqvo/0fBsGqO0uaN8mjcDJofy8clv0nY4ku cLw+3uf7MSS1FlmVN9/OyS9cfMIbsc7oC3lBuh6a8E1XgWXquokgiMPlduQL1vcKXniz GRaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=N/koVr3+xhFPghqYOt9mOVwoH+tNbDMOMFc9SDer/Ss=; b=y4ZeAi8w0DvvQMAUF3T0EcqCPFEJiE2RZhi4Vbaf/ATeT4vctVKGWbGizGK4ZJwtwJ TQfYjlWZUPG0kQRW4SS0lxXIPHuEPjXyktro01uOObUDoTZDh04WX8RiMJlilUZxqMn8 vDFnRn05Tcv14/gOxxQO2SpQdO6csMqu4ERi0+fXu80iFGZ8ji9ghRk+ubgbvaTvsnud ltFlioxZsPP/dj5iyrjTxxeFR9pSaouXBsoSY73Q+rZU6PPWwhavK6TRHGIUljPOdUqi 6G1BqFjV+9G23KkVgHXU6OFeOPweXKBtiX/qWwoTmlPSHgHIucANxIMBnjc416mzwTZ2 G5jg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=plzuDKZQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u9si31867352edb.462.2021.07.23.03.27.14; Fri, 23 Jul 2021 03:27:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=plzuDKZQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231936AbhGWJoq (ORCPT + 99 others); Fri, 23 Jul 2021 05:44:46 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:6764 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230238AbhGWJop (ORCPT ); Fri, 23 Jul 2021 05:44:45 -0400 Received: from pps.filterd (m0187473.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 16NA2xmG121913; Fri, 23 Jul 2021 06:25:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=subject : to : cc : references : from : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=N/koVr3+xhFPghqYOt9mOVwoH+tNbDMOMFc9SDer/Ss=; b=plzuDKZQld9znk+xBx3W5/IZWhfDGUrVj/gszu+drYs5HGamMsapCz5JVOstXkggQFix u1LKzVTcTp39AmBtrjjQ5snNgX8a8F4n8y+IVXPaB+QO7buMyILE253vlc3Od98pwI+j L1tGxmT7TKndK/vvHiJHx1i/lpY99ycN2ksAEobI2UxQkzkgl8LiosqeNjHvx595J/Yn A/07aOh1heYUjHTRHUeAObTh01MNzhpc/EXIjP8enPxMtMQQtOWrI866k5rirlkNnRaa 7LV4VfcZWyVyjAufZikbiWO/ZzYsXOuaHUH/d/Xd6bw19wWp47qENmooEvJBeKb8Xx3u UQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 39yuj4rsuv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 23 Jul 2021 06:25:19 -0400 Received: from m0187473.ppops.net (m0187473.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.43/8.16.0.43) with SMTP id 16NA31Cp122076; Fri, 23 Jul 2021 06:25:19 -0400 Received: from ppma04ams.nl.ibm.com (63.31.33a9.ip4.static.sl-reverse.com [169.51.49.99]) by mx0a-001b2d01.pphosted.com with ESMTP id 39yuj4rsub-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 23 Jul 2021 06:25:18 -0400 Received: from pps.filterd (ppma04ams.nl.ibm.com [127.0.0.1]) by ppma04ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 16NA7MKU012133; Fri, 23 Jul 2021 10:10:09 GMT Received: from b06cxnps3074.portsmouth.uk.ibm.com (d06relay09.portsmouth.uk.ibm.com [9.149.109.194]) by ppma04ams.nl.ibm.com with ESMTP id 39xhx4951t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 23 Jul 2021 10:10:09 +0000 Received: from d06av26.portsmouth.uk.ibm.com (d06av26.portsmouth.uk.ibm.com [9.149.105.62]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 16NAA4GL24445200 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 23 Jul 2021 10:10:04 GMT Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 99409AE045; Fri, 23 Jul 2021 10:10:04 +0000 (GMT) Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 07C87AE04D; Fri, 23 Jul 2021 10:10:04 +0000 (GMT) Received: from oc3016276355.ibm.com (unknown [9.145.58.144]) by d06av26.portsmouth.uk.ibm.com (Postfix) with ESMTP; Fri, 23 Jul 2021 10:10:03 +0000 (GMT) Subject: Re: [PATCH v2 2/2] s390:kvm: Topology expose TOPOLOGY facility To: Christian Borntraeger , Cornelia Huck , kvm@vger.kernel.org Cc: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, frankja@linux.ibm.com, david@redhat.com, thuth@redhat.com, imbrenda@linux.ibm.com, hca@linux.ibm.com, gor@linux.ibm.com References: <1626973353-17446-1-git-send-email-pmorel@linux.ibm.com> <1626973353-17446-3-git-send-email-pmorel@linux.ibm.com> <7163cf4a-479a-3121-2261-cfb6e4024d0c@de.ibm.com> <87wnph5rz7.fsf@redhat.com> <46229585-507d-70a2-cc60-c06fb172fbfd@de.ibm.com> From: Pierre Morel Message-ID: <68c2e0d0-b591-7701-700c-400f1f040ca9@linux.ibm.com> Date: Fri, 23 Jul 2021 12:10:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <46229585-507d-70a2-cc60-c06fb172fbfd@de.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: FggXFHKmBJgcV2M6_fFBljP3kKkKCDJE X-Proofpoint-GUID: xJDIfJDElQ0JizbTpjP8uYX8Iv33LbFg X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790 definitions=2021-07-23_04:2021-07-23,2021-07-23 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 bulkscore=0 spamscore=0 clxscore=1015 phishscore=0 malwarescore=0 adultscore=0 mlxscore=0 lowpriorityscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2107230058 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/23/21 11:28 AM, Christian Borntraeger wrote: > > > On 23.07.21 10:55, Cornelia Huck wrote: >> On Fri, Jul 23 2021, Christian Borntraeger >> wrote: >> >>> On 22.07.21 19:02, Pierre Morel wrote: >>>> We add a KVM extension KVM_CAP_S390_CPU_TOPOLOGY to tell the >>>> userland hypervisor it is safe to activate the CPU Topology facility. >>> >>> I think the old variant of using the CPU model was actually better. >>> It was just the patch description that was wrong. >> >> I thought we wanted a cap that userspace can enable to get ptf >> intercepts? I'm confused. >> > > PTF goes to userspace in any case as every instruction that is > not handled by kvm and where interpretion is not enabled. > Now, having said that, we actually want PTF interpretion to be enabled > for "Check topology-change status" as this is supposed to be a fast > operation. Some OSes do query that in their interrupt handlers. > An old QEMU getting the PTF instruction will send a OPERATION exception to the guest if the facility 11 is actzivated. Facility 11 is in QEMU since GAEN10_GA1, if I enable the facility in the CPU model all cpu model starting with GEN10_GA1 will panic on PTF. So I think we need the capability so that new QEMU enable the facility once it has the right handling for PTF. > >>>> Signed-off-by: Pierre Morel >>>> --- >>>>    arch/s390/kvm/kvm-s390.c | 1 + >>>>    include/uapi/linux/kvm.h | 1 + >>>>    2 files changed, 2 insertions(+) >>>> >>>> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c >>>> index b655a7d82bf0..8c695ee79612 100644 >>>> --- a/arch/s390/kvm/kvm-s390.c >>>> +++ b/arch/s390/kvm/kvm-s390.c >>>> @@ -568,6 +568,7 @@ int kvm_vm_ioctl_check_extension(struct kvm >>>> *kvm, long ext) >>>>        case KVM_CAP_S390_VCPU_RESETS: >>>>        case KVM_CAP_SET_GUEST_DEBUG: >>>>        case KVM_CAP_S390_DIAG318: >>>> +    case KVM_CAP_S390_CPU_TOPOLOGY: >>>>            r = 1; >>>>            break; >>>>        case KVM_CAP_SET_GUEST_DEBUG2: >>>> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h >>>> index d9e4aabcb31a..081ce0cd44b9 100644 >>>> --- a/include/uapi/linux/kvm.h >>>> +++ b/include/uapi/linux/kvm.h >>>> @@ -1112,6 +1112,7 @@ struct kvm_ppc_resize_hpt { >>>>    #define KVM_CAP_BINARY_STATS_FD 203 >>>>    #define KVM_CAP_EXIT_ON_EMULATION_FAILURE 204 >>>>    #define KVM_CAP_ARM_MTE 205 >>>> +#define KVM_CAP_S390_CPU_TOPOLOGY 206 >>>>    #ifdef KVM_CAP_IRQ_ROUTING >>>> >> >> Regardless of what we end up with: we need documentation for any new cap >> :) >> -- Pierre Morel IBM Lab Boeblingen