From patchwork Wed May 6 13:17:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Suthikulpanit, Suravee" X-Patchwork-Id: 11531203 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CD9AD1392 for ; Wed, 6 May 2020 13:18:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B096120757 for ; Wed, 6 May 2020 13:18:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="r5/BXOgj" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728524AbgEFNSY (ORCPT ); Wed, 6 May 2020 09:18:24 -0400 Received: from mail-eopbgr760078.outbound.protection.outlook.com ([40.107.76.78]:6525 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728357AbgEFNSW (ORCPT ); Wed, 6 May 2020 09:18:22 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BIdghRBr9ZuajBWHpu8nvyBuf++5g6pIwrKlVGf74DOsYvtIAVBsFiKcfBE8ZrJ+0b8Osqo6UgpjlFfkVv111OufWgkq0y40kZd7PQe90zQn7JomZj7F/N6YciZtDBPWdQhe8/Xbaknh0Vk/QV+RZUEAudQA+izCu55kOCCqid6wI37rF9205GaagMf5miZ3f96Lz+vkSIQxwj9MmcuMLIkEsaPVpY2w6hP9RSw+kPyR+sbLIzfgA8lh5GkgrvdsvVC1yZ9vTjPtkIIXJDT59ucXrPe+mP4SnsWqxXLhJob3WXgiS9f703rChmcrAXcvKAXMpwdw0+Sy4Fbbn6Mgcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3v7wsourL4SXYCDRkuXB0Pt4sYYRiDKwervsLaPKlF0=; b=YYjxcE0PhDw8hi2bj0K9fJP3QSluO30idBKw5cSYkXbNwYYaLCP2XokPrEMyODpGAd+0MJ7jZ8OqpsBhLjHJtQygJ+Z9n857g//PKXtlHIrwtHgOazF9xS78aId7KKI6vc7TvvY0tr+ZqOMd48o1+wpZSahVeLjt56U3rq28HJrDhYH6D8jRPC1yGcMrqNIyfrzUtxGwMRvd+5BwuqZmMNYdW7zOJU+KyTph/FoFOZLOlq4h8Ze1U7jTPLZvW9AamhxQZ17bBltJwCPv7Kjjp9nQrRccZ7l/ENfVHDZyXHxk+wNJU5iaeHzQ/98El+E/MgzCqFvGS9YEuoAkps3fTA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3v7wsourL4SXYCDRkuXB0Pt4sYYRiDKwervsLaPKlF0=; b=r5/BXOgjOmw6tk+UuqZujtrw/q3DGq3PxFKahiVy8SNZc6HKLEACVYRfOpCx8qXbi1iQ5kpRgRfkp9RBhO4JKuv2UQ2IEttUDOWthWueJACkcsNPQt+KqDQIxBYmNZeKJOVEQ8Q9CTghPU7KjvcCjmyx2z1tCm23TGHYOH0z1F8= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=amd.com; Received: from DM5PR12MB1163.namprd12.prod.outlook.com (2603:10b6:3:7a::18) by DM5PR12MB1258.namprd12.prod.outlook.com (2603:10b6:3:79::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.29; Wed, 6 May 2020 13:18:14 +0000 Received: from DM5PR12MB1163.namprd12.prod.outlook.com ([fe80::d061:4c5:954e:4744]) by DM5PR12MB1163.namprd12.prod.outlook.com ([fe80::d061:4c5:954e:4744%4]) with mapi id 15.20.2958.030; Wed, 6 May 2020 13:18:14 +0000 From: Suravee Suthikulpanit To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: pbonzini@redhat.com, joro@8bytes.org, jon.grimm@amd.com, mlevitsk@redhat.com, Suravee Suthikulpanit Subject: [PATCH 1/4] KVM: Introduce kvm_make_all_cpus_request_except() Date: Wed, 6 May 2020 08:17:53 -0500 Message-Id: <1588771076-73790-2-git-send-email-suravee.suthikulpanit@amd.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1588771076-73790-1-git-send-email-suravee.suthikulpanit@amd.com> References: <1588771076-73790-1-git-send-email-suravee.suthikulpanit@amd.com> X-ClientProxiedBy: DM5PR12CA0071.namprd12.prod.outlook.com (2603:10b6:3:103::33) To DM5PR12MB1163.namprd12.prod.outlook.com (2603:10b6:3:7a::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from ssuthiku-rhel7-ssp.amd.com (165.204.78.2) by DM5PR12CA0071.namprd12.prod.outlook.com (2603:10b6:3:103::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.28 via Frontend Transport; Wed, 6 May 2020 13:18:14 +0000 X-Mailer: git-send-email 1.8.3.1 X-Originating-IP: [165.204.78.2] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d439415a-5ec6-4af4-2410-08d7f1bfeee6 X-MS-TrafficTypeDiagnostic: DM5PR12MB1258:|DM5PR12MB1258: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2733; X-Forefront-PRVS: 03950F25EC X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UCWBIHNxhEqMxq3Q+rrcZ7caL70sDhj+LcQ1IfO8HakqconFW9ENzvEd7gMZJbossg78QiGrxDB179C0Ag7cDksqTWturACV9dpLvX71useMBAK6mB+W+UDPe0XcLA6EUnHctS9IxoVxteEzqvFsL5VvP8OWYnAKnrTU5pTqViZmXDaWgqde3DgWKh/kuGUj8NoEWKZAZtO5BwzVNLLgvoqv3lnde3WKvgnOJP1WzArSuRdCpw/MzEScvh5dMgqoAMPRZVxtkvkzSZmV3FgrmGd4wsOynBOOAp0SbiR3uFQJdf3pjFUtmLdmNwMkPuahkJ8ZhnsZ3oXUuRuj938tNOLpLtOLV7R7IkpBysJS4rUu75K8vdaE2MYcf66jLxt6vYJ2PXoZus3tBQrvSlukYGuYCm+eF06UD26NMK2m2XmGAz53DNDJjCn1d+KQpdDbOJlogHs8JmatITNq/25vDFMrLbX/OH0zKyam05yPbgtZsGYCdXsqP0r2PrnHDHy2Znt8KiqZ+vD8lSXOVlhqeg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB1163.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(366004)(39860400002)(376002)(136003)(396003)(346002)(33430700001)(5660300002)(66556008)(66476007)(66946007)(7696005)(52116002)(8676002)(478600001)(8936002)(44832011)(6666004)(2906002)(2616005)(956004)(6486002)(86362001)(316002)(33440700001)(26005)(16526019)(186003)(36756003)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: Dj84rSuQcEpK3guW7MCxl90u3L4dJv2KsaRt0K8N2ZqH0b/r0SYzs9ZOur49RMFdSLEeC00DcpIBn+PcI5Vg4YrP/IV6bj2xNPy3gK9kFxHMjS1Xq1z8fFT8ziIGdY2fVBysE4NCJtj649TU2iPOm1+QRRViyMrHgSHFSv/zcekthUhPH+9u4d7Yi3WeXhrSgUboraG2Ta6sQPIA40ZPtRnDez4Dau+cIfKKCBLkl2SYJkLJzzw1q/3XFPrrVXQ8c7ff0X4s77KtuytEEM4b2b3NVKRsxC+tB45I0Km+iyqtnfYJ57WCZwZ0Meh+saGqRSN6NXYfwgekhRgLFLYUKfRwQJ1fmQIEuxQ0X+ifd7/sxInLlC1kd1SHj0NkXb7h79sTkNKiqY1/wgWc2kdXm/4rOnVAlW9LV3bALhVLcrijGAWeKunuqanx+39m0UHBoDqrTFHQwPIQ0ZM3DmsNZJGdqTEFw0DiF7jn6RYb94S9+U19leIDMEQq/sUMtfLNFKknI26+LwRL56NdKzobMF1XA3geVwWiqDBzOFF2O4OHEgpcfC1qhGC0sNE3g32KDMBVsF9/to2nt64QIvycFROMYRWcD5s8ap6Wfs+Qz85oOlFizOLunW6CAyB2PeWZ3O0c/HTWxMXR0e4bgb+gnSd9RqKOhqFeHEEs51q0rqNFeOu1x9mj2Oh9D0ZSSIILLdzOVvLpPfXr0RvdheTTMYDCCK+y4W7ORn6Q2/VPbLnbPfgz56wv501heq04W1B5HK/9y6B7SeLWbYh4IyWkaRYCKDpm0QyaNgy6wuRFjlc= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: d439415a-5ec6-4af4-2410-08d7f1bfeee6 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2020 13:18:14.7800 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: n8yOQl8garQ6ELp4eeQLbrXqH0KRat9lf/OVmacn7EtkcWyaoU+5RAhZh6zhslHkTcvcZzH3zuVfWTeMGmDpdA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1258 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org This allows making request to all other vcpus except the one specified in the parameter. Signed-off-by: Suravee Suthikulpanit --- arch/x86/kvm/hyperv.c | 2 +- arch/x86/kvm/x86.c | 2 +- include/linux/kvm_host.h | 3 +++ virt/kvm/kvm_main.c | 14 +++++++++++--- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c index bcefa9d..54d4b98 100644 --- a/arch/x86/kvm/hyperv.c +++ b/arch/x86/kvm/hyperv.c @@ -1427,7 +1427,7 @@ static u64 kvm_hv_flush_tlb(struct kvm_vcpu *current_vcpu, u64 ingpa, */ kvm_make_vcpus_request_mask(kvm, KVM_REQ_TLB_FLUSH | KVM_REQUEST_NO_WAKEUP, - vcpu_mask, &hv_vcpu->tlb_flush); + NULL, vcpu_mask, &hv_vcpu->tlb_flush); ret_success: /* We always do full TLB flush, set rep_done = rep_cnt. */ diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 7900ea8..df473f9 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -8055,7 +8055,7 @@ void kvm_make_scan_ioapic_request_mask(struct kvm *kvm, zalloc_cpumask_var(&cpus, GFP_ATOMIC); kvm_make_vcpus_request_mask(kvm, KVM_REQ_SCAN_IOAPIC, - vcpu_bitmap, cpus); + NULL, vcpu_bitmap, cpus); free_cpumask_var(cpus); } diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 01276e3..131cc15 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -813,8 +813,11 @@ int kvm_vcpu_write_guest(struct kvm_vcpu *vcpu, gpa_t gpa, const void *data, void kvm_reload_remote_mmus(struct kvm *kvm); bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req, + struct kvm_vcpu *except, unsigned long *vcpu_bitmap, cpumask_var_t tmp); bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req); +bool kvm_make_all_cpus_request_except(struct kvm *kvm, unsigned int req, + struct kvm_vcpu *except); bool kvm_make_cpus_request_mask(struct kvm *kvm, unsigned int req, unsigned long *vcpu_bitmap); diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 74bdb7b..df73605 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -259,6 +259,7 @@ static inline bool kvm_kick_many_cpus(const struct cpumask *cpus, bool wait) } bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req, + struct kvm_vcpu *except, unsigned long *vcpu_bitmap, cpumask_var_t tmp) { int i, cpu, me; @@ -268,7 +269,8 @@ bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req, me = get_cpu(); kvm_for_each_vcpu(i, vcpu, kvm) { - if (vcpu_bitmap && !test_bit(i, vcpu_bitmap)) + if ((vcpu_bitmap && !test_bit(i, vcpu_bitmap)) || + (vcpu == except)) continue; kvm_make_request(req, vcpu); @@ -288,19 +290,25 @@ bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req, return called; } -bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req) +bool kvm_make_all_cpus_request_except(struct kvm *kvm, unsigned int req, + struct kvm_vcpu *except) { cpumask_var_t cpus; bool called; zalloc_cpumask_var(&cpus, GFP_ATOMIC); - called = kvm_make_vcpus_request_mask(kvm, req, NULL, cpus); + called = kvm_make_vcpus_request_mask(kvm, req, except, NULL, cpus); free_cpumask_var(cpus); return called; } +bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req) +{ + return kvm_make_all_cpus_request_except(kvm, req, NULL); +} + #ifndef CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL void kvm_flush_remote_tlbs(struct kvm *kvm) { From patchwork Wed May 6 13:17:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Suthikulpanit, Suravee" X-Patchwork-Id: 11531199 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E764A15AB for ; Wed, 6 May 2020 13:18:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C483320757 for ; Wed, 6 May 2020 13:18:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="OdcBtE/M" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728616AbgEFNS0 (ORCPT ); Wed, 6 May 2020 09:18:26 -0400 Received: from mail-eopbgr760078.outbound.protection.outlook.com ([40.107.76.78]:6525 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728058AbgEFNSY (ORCPT ); Wed, 6 May 2020 09:18:24 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aaiveEjBBb2NP5972vQSN42xFJnTtjJtah2sZSiawn0Pu1+9ygmTSPpdV380CajAE5n0hWCSVTtACperjgq456nB0NZ6Rgbzs5TXzEuj6/hqIdh75k2NaCQ68mpBy4v+DXnyK5bO+Q0BR3L8HeCsbbHzfyl4ZUkX4kULjGGbzByqUFwrp29isFnE04jKVjmoJ0YCYBipyrNopqrPhGv+J8QyOQ9cVMFynVhkYZHFVv6VAL6rDqJlmJQDu6g02ctBSRK+0Vug+y91n7yUtLXXIazdA8BgFPa8oE7Edbg8du/pVSEEVrZBxVAQNXWqEAqw4u5Bo34sET+BnG2zTWgk9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vCN90VEGSaDcFGSY6+1mmQr2KrSwEV3suuKpMuPANYc=; b=XveEzeYihtd6o8PqHqCbz3g+m1Omjpl0Tbb4aTEE7VbFJGCmRrdYDhDhT6yDoyV0VLxDYTa7gR5q81ovgXHejlYK7MKUPygbMq3Zg6O/3z5Gpdn5lOV/21bzNydeEurNwpUjfXSoyJUbinL2rD+etedgvgKhhyUWYd+6R+fRlkM56SZaqh3rBqaZJNNWET5IqkuR4mAqPH/rnEw2/0g6mYAaP3AROu0LA7HmMd2Jumvaayt5V5iwoLn7skkRph6GWx4T2iCBAOCNr0DzcZl4bPRkM5ymCshRMTUV1aRPJM8Js90/BEQ0mjFu+B0e5DWRTbKgSlvjoww8hQbQ3rsOdg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vCN90VEGSaDcFGSY6+1mmQr2KrSwEV3suuKpMuPANYc=; b=OdcBtE/MpW4i67axp7OaIAz1mwWXZBc/bWoj2pCuZMOACgAgtrtCyA8/jAAGei5C0zxEJR/7togz8iFzMJ5Z3+X9s8wy2MmcqkgO4bvuU6C42XVSewBSqp7yaVajueb6vadsb+fBIpP3ANlwuIUswtx0jF9YIwQ8ORn4BYwOpBU= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=amd.com; Received: from DM5PR12MB1163.namprd12.prod.outlook.com (2603:10b6:3:7a::18) by DM5PR12MB1258.namprd12.prod.outlook.com (2603:10b6:3:79::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.29; Wed, 6 May 2020 13:18:15 +0000 Received: from DM5PR12MB1163.namprd12.prod.outlook.com ([fe80::d061:4c5:954e:4744]) by DM5PR12MB1163.namprd12.prod.outlook.com ([fe80::d061:4c5:954e:4744%4]) with mapi id 15.20.2958.030; Wed, 6 May 2020 13:18:15 +0000 From: Suravee Suthikulpanit To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: pbonzini@redhat.com, joro@8bytes.org, jon.grimm@amd.com, mlevitsk@redhat.com, Suravee Suthikulpanit Subject: [PATCH 2/4] KVM: SVM: Fixes setting V_IRQ while AVIC is still enabled Date: Wed, 6 May 2020 08:17:54 -0500 Message-Id: <1588771076-73790-3-git-send-email-suravee.suthikulpanit@amd.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1588771076-73790-1-git-send-email-suravee.suthikulpanit@amd.com> References: <1588771076-73790-1-git-send-email-suravee.suthikulpanit@amd.com> X-ClientProxiedBy: DM5PR12CA0071.namprd12.prod.outlook.com (2603:10b6:3:103::33) To DM5PR12MB1163.namprd12.prod.outlook.com (2603:10b6:3:7a::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from ssuthiku-rhel7-ssp.amd.com (165.204.78.2) by DM5PR12CA0071.namprd12.prod.outlook.com (2603:10b6:3:103::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.28 via Frontend Transport; Wed, 6 May 2020 13:18:15 +0000 X-Mailer: git-send-email 1.8.3.1 X-Originating-IP: [165.204.78.2] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 1526ccf9-c622-4e32-b1c1-08d7f1bfef83 X-MS-TrafficTypeDiagnostic: DM5PR12MB1258:|DM5PR12MB1258: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:747; X-Forefront-PRVS: 03950F25EC X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JfkGFSfkAnWCW3eLMLn46k/9al5E0rV/zrRLHVtAz68xvcdDfla4jVwK2LZvQHKkuhE2WtnoLxZ0UpkHE/U2Avu9RrD7PmPEgdBHWcFh6PoBgRH+gKDfUIPaiGqbG97UxYbCct5lto3uLOLjmYcu4Cyabn9kuJaSo3MqFySeBqWJelWsqLegDAKEmTQ3Nbsi87D+MkVGZIxCGegXVHkvrwIGY7xQVKl0IUcI68U6DiU1xT6jLKil/BhxXd88X5/eE+cK1chIf31dEYzEVx4UYarSSOXNBYClnTz824JhgTvUVKJaiKb9DdqFcNXa3WDevZ6PTAxTPwTyatH66p77S8ACqhSgeQv2yXlDJUQzo5yPGGlxaqtw9cvZ/MldFdpS+TwFNnUvsVcWQ6Sr3T6rX0KUEwCXOzNJqB6XuDoSnM/szL40g2WZnTWO+MEWTeIU0re8aZ959DLfx019kwHYk6p7ZPU2vnFVtnqf8JFyTSpfdkiQ9L/k0bFZFoit6pyIPRBDkBFG5zziAdIatxxRIN1DztAW23WHRWuGtVPb7kd48xJuXRqS0grHE+pK3vXeg9YWWqyYPSgLx6GdM5TK2rdBoULbJXnesdyGJe/rYhE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB1163.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(366004)(39860400002)(376002)(136003)(396003)(346002)(33430700001)(966005)(5660300002)(66556008)(66476007)(66946007)(7696005)(52116002)(8676002)(478600001)(8936002)(44832011)(6666004)(2906002)(2616005)(956004)(6486002)(86362001)(316002)(33440700001)(26005)(16526019)(186003)(36756003)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: GJPE93vQDM/N1VS/FcSr2qV0QXfLdYVJq576lTWlLtmJQG5NW096y7M9GrbXUUXBfaZ0hREIyttycqO9yBBMsvQvYhjCCVZAVeaNoFHCmDpmGGt4OFvSbvF13juHSO1YbgOPfoQavwHieiVvxQ579oHm8nOSSIheZckhUuhZfMloo+QCD6qvkAhNg3naLQHfzOGdnjk5dSe0+tfG5+8IsHSHIeC7bOEx/XZoNorkUe7h8tCM142/cLnbqHzyQw99CTXa2ZybIHFVJgEuy+p9m2uaYKXHHCaz29vdVCOwSsc7O5xkkZnrYP1r9qypSD1+ajntqSR4+l4wkk6fDw5tZa0Gz+8Oe6ZWvQ5JIXLgNotHtm8f8hjlqOsXCpygXxMT1yK5bGiPFKXdcNVWZnWMyn/bxviPw+d5QhEymZIaizmwHXsmBmPAxBCNqaulSo21VhUBOYFx2zBUmn7zHlyxV1/MwZsrQu08q3YjaH6HMkCiRGLvxms/WygthBBcb2HuzMRSWNVaacIbPMe4ZHAXpLfAQ13Kb/EFVMiY3cAlOGqjitBHlRdSg3l0sl+vNgjC0BNbe0GinslVEe/z2aecqGbZdF1+WMHLgqH+lNbHy5lyXUSBeLQe9x0joJ3wZoZgERO65af0t8+FFZs/XK6rwGCxKaAoQiu89jfxF9QC4VkEPJKU7SxQcbEqjRVizD7dC4/JGhX3C9yZBSZTK0XBTqewhX+wjGH4smfiOux9OIwLpFr+yhp+CJCMWGC/ZLyZH822xVDUfpqrRV2jDZ/D7F21yi+qClc5G0gs6cFrKNQ= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1526ccf9-c622-4e32-b1c1-08d7f1bfef83 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2020 13:18:15.7186 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oTOyIaFmG4zfGg9j1jNCWHXVARFRypxKRzdA+MM5/m9AHkZXiw0cq57TEVgDyYaY4kzjcQnJFlTtRa7UoHvHnA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1258 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org The commit 64b5bd270426 ("KVM: nSVM: ignore L1 interrupt window while running L2 with V_INTR_MASKING=1") introduced a WARN_ON, which checks if AVIC is enabled when trying to set V_IRQ in the VMCB for enabling irq window. The following warning is triggered because the requesting vcpu (to deactivate AVIC) does not get to process APICv update request for itself until the next #vmexit. WARNING: CPU: 0 PID: 118232 at arch/x86/kvm/svm/svm.c:1372 enable_irq_window+0x6a/0xa0 [kvm_amd] RIP: 0010:enable_irq_window+0x6a/0xa0 [kvm_amd] Call Trace: kvm_arch_vcpu_ioctl_run+0x6e3/0x1b50 [kvm] ? kvm_vm_ioctl_irq_line+0x27/0x40 [kvm] ? _copy_to_user+0x26/0x30 ? kvm_vm_ioctl+0xb3e/0xd90 [kvm] ? set_next_entity+0x78/0xc0 kvm_vcpu_ioctl+0x236/0x610 [kvm] ksys_ioctl+0x8a/0xc0 __x64_sys_ioctl+0x1a/0x20 do_syscall_64+0x58/0x210 entry_SYSCALL_64_after_hwframe+0x44/0xa9 Fixes by sending APICV update request to all other vcpus, and immediately update APIC for itself. Signed-off-by: Suravee Suthikulpanit Link: https://lkml.org/lkml/2020/5/2/167 Fixes: 64b5bd270426 ("KVM: nSVM: ignore L1 interrupt window while running L2 with V_INTR_MASKING=1") --- arch/x86/include/asm/kvm_host.h | 2 +- arch/x86/kvm/hyperv.c | 4 +++- arch/x86/kvm/i8254.c | 4 ++-- arch/x86/kvm/svm/avic.c | 2 +- arch/x86/kvm/svm/svm.c | 6 ++++-- arch/x86/kvm/x86.c | 14 ++++++++++++-- 6 files changed, 23 insertions(+), 9 deletions(-) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index dd84085..e7115dd 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -1503,7 +1503,7 @@ gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva, void kvm_apicv_init(struct kvm *kvm, bool enable); void kvm_vcpu_update_apicv(struct kvm_vcpu *vcpu); void kvm_request_apicv_update(struct kvm *kvm, bool activate, - unsigned long bit); + unsigned long bit, struct kvm_vcpu *except); int kvm_emulate_hypercall(struct kvm_vcpu *vcpu); diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c index 54d4b98..a007ca5 100644 --- a/arch/x86/kvm/hyperv.c +++ b/arch/x86/kvm/hyperv.c @@ -779,7 +779,9 @@ int kvm_hv_activate_synic(struct kvm_vcpu *vcpu, bool dont_zero_synic_pages) * not compatible with APICV, so request * to deactivate APICV permanently. */ - kvm_request_apicv_update(vcpu->kvm, false, APICV_INHIBIT_REASON_HYPERV); + kvm_request_apicv_update(vcpu->kvm, false, + APICV_INHIBIT_REASON_HYPERV, + vcpu); synic->active = true; synic->dont_zero_synic_pages = dont_zero_synic_pages; return 0; diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c index febca33..c524081 100644 --- a/arch/x86/kvm/i8254.c +++ b/arch/x86/kvm/i8254.c @@ -305,14 +305,14 @@ void kvm_pit_set_reinject(struct kvm_pit *pit, bool reinject) */ if (reinject) { kvm_request_apicv_update(kvm, false, - APICV_INHIBIT_REASON_PIT_REINJ); + APICV_INHIBIT_REASON_PIT_REINJ, NULL); /* The initial state is preserved while ps->reinject == 0. */ kvm_pit_reset_reinject(pit); kvm_register_irq_ack_notifier(kvm, &ps->irq_ack_notifier); kvm_register_irq_mask_notifier(kvm, 0, &pit->mask_notifier); } else { kvm_request_apicv_update(kvm, true, - APICV_INHIBIT_REASON_PIT_REINJ); + APICV_INHIBIT_REASON_PIT_REINJ, NULL); kvm_unregister_irq_ack_notifier(kvm, &ps->irq_ack_notifier); kvm_unregister_irq_mask_notifier(kvm, 0, &pit->mask_notifier); } diff --git a/arch/x86/kvm/svm/avic.c b/arch/x86/kvm/svm/avic.c index e80daa9..4b1574e 100644 --- a/arch/x86/kvm/svm/avic.c +++ b/arch/x86/kvm/svm/avic.c @@ -594,7 +594,7 @@ void svm_toggle_avic_for_irq_window(struct kvm_vcpu *vcpu, bool activate) srcu_read_unlock(&vcpu->kvm->srcu, vcpu->srcu_idx); kvm_request_apicv_update(vcpu->kvm, activate, - APICV_INHIBIT_REASON_IRQWIN); + APICV_INHIBIT_REASON_IRQWIN, vcpu); vcpu->srcu_idx = srcu_read_lock(&vcpu->kvm->srcu); } diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 2f379ba..c2117cd 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3502,7 +3502,8 @@ static void svm_cpuid_update(struct kvm_vcpu *vcpu) */ if (guest_cpuid_has(vcpu, X86_FEATURE_X2APIC)) kvm_request_apicv_update(vcpu->kvm, false, - APICV_INHIBIT_REASON_X2APIC); + APICV_INHIBIT_REASON_X2APIC, + vcpu); /* * Currently, AVIC does not work with nested virtualization. @@ -3510,7 +3511,8 @@ static void svm_cpuid_update(struct kvm_vcpu *vcpu) */ if (nested && guest_cpuid_has(vcpu, X86_FEATURE_SVM)) kvm_request_apicv_update(vcpu->kvm, false, - APICV_INHIBIT_REASON_NESTED); + APICV_INHIBIT_REASON_NESTED, + vcpu); } static bool svm_has_wbinvd_exit(void) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index df473f9..8f69ad0 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -8083,7 +8083,8 @@ void kvm_vcpu_update_apicv(struct kvm_vcpu *vcpu) * locked, because it calls __x86_set_memory_region() which does * synchronize_srcu(&kvm->srcu). */ -void kvm_request_apicv_update(struct kvm *kvm, bool activate, ulong bit) +void kvm_request_apicv_update(struct kvm *kvm, bool activate, ulong bit, + struct kvm_vcpu *except) { unsigned long old, new, expected; @@ -8110,7 +8111,16 @@ void kvm_request_apicv_update(struct kvm *kvm, bool activate, ulong bit) trace_kvm_apicv_update_request(activate, bit); if (kvm_x86_ops.pre_update_apicv_exec_ctrl) kvm_x86_ops.pre_update_apicv_exec_ctrl(kvm, activate); - kvm_make_all_cpus_request(kvm, KVM_REQ_APICV_UPDATE); + + /* + * Sending request to update APICV for all other vcpus, + * while update the calling vcpu immediately instead of + * waiting for another #VMEXIT to handle the request. + */ + kvm_make_all_cpus_request_except(kvm, KVM_REQ_APICV_UPDATE, + except); + if (except) + kvm_vcpu_update_apicv(except); } EXPORT_SYMBOL_GPL(kvm_request_apicv_update); From patchwork Wed May 6 13:17:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Suthikulpanit, Suravee" X-Patchwork-Id: 11531197 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 302A91392 for ; Wed, 6 May 2020 13:18:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0C7B820746 for ; Wed, 6 May 2020 13:18:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="F0EiLJjV" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728297AbgEFNSU (ORCPT ); Wed, 6 May 2020 09:18:20 -0400 Received: from mail-dm6nam10on2041.outbound.protection.outlook.com ([40.107.93.41]:24036 "EHLO NAM10-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728058AbgEFNST (ORCPT ); Wed, 6 May 2020 09:18:19 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BXee8xr9VexgtAMd2L7YvOrJAhd5m1Qhl6MFXfeFvSH60tFB1XnOSKMSwUlGPm86ggUs+iL9xb9BrTSiAc9QTQuP+uNWTnRxTxL83mQQvw1Qw8kS1K1FoHjoDfSjHCK0LpvfjEQpkCi83EMj+xhYAKkpjs+9/olOmSYdYFRJMzoFVS4tFWM0Rxj5IuFamEYONoMwePnmRLPeATZ8f7i+LNFyshsl301BkR89cMik/CH6NAIODJqszbsifkNmP7NOKcEKVF2WtkyFaxFWANU2Mx4qmUwBBOET0MjkSlR5W812Nakm1p8pif/TpK/cx+mCd7ldsScpWHGBd35lags/xA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TgZ7+vNXdghQPjoh51NjFBqLLho2bNsqf1chHxvfiUo=; b=HfkuGg8ZkTmF5diZaYoFAVNWFZXdNsuZ2A4JXkUyQBMIeGCcCQyQdI0JTBIVD6qPXv5E6T/kZkWYKexzhlc6S13D8dfM94WydmfY3rOsdtSee9uI1QMJHlUXFBp6f2nWj+AIF/q90nadaCk/0rmPsOexJti0OjCyHwHfGhkTqTaVfRG0wxT5bIbtdgrtCfZov1jUCPFcjwsAiyoB8mUy3HwFntJiZOS1n6Pz1ZkSnQoatnO0bb2qerqcr+fKXC1rFC09y5VZU6H/dlBZYIHMt4PHQS9tVHlGgdY8qdpbXSGIR+QLUYCpcGcnYa3DRfmZ3q+hEB+V1HmFQkroZNRBUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TgZ7+vNXdghQPjoh51NjFBqLLho2bNsqf1chHxvfiUo=; b=F0EiLJjVFhrlk561eIcCgfqvUngkUzWrG228MrmMmz5jl6ldACzDYeGiAqHHhd1UF7PzGLhGZ07YXb9Dj6J6JGtk0Dw/4L2VayTHcb5Wso63Brw/Z/k2hNxyJMn/2UitkoC0ixoO8t+6a2UDMciPx9qEezkmCHUmTWDCye8KxK0= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=amd.com; Received: from DM5PR12MB1163.namprd12.prod.outlook.com (2603:10b6:3:7a::18) by DM5PR12MB1228.namprd12.prod.outlook.com (2603:10b6:3:74::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.29; Wed, 6 May 2020 13:18:17 +0000 Received: from DM5PR12MB1163.namprd12.prod.outlook.com ([fe80::d061:4c5:954e:4744]) by DM5PR12MB1163.namprd12.prod.outlook.com ([fe80::d061:4c5:954e:4744%4]) with mapi id 15.20.2958.030; Wed, 6 May 2020 13:18:16 +0000 From: Suravee Suthikulpanit To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: pbonzini@redhat.com, joro@8bytes.org, jon.grimm@amd.com, mlevitsk@redhat.com, Suravee Suthikulpanit Subject: [PATCH 3/4] KVM: SVM: Merge svm_enable_vintr into svm_set_vintr Date: Wed, 6 May 2020 08:17:55 -0500 Message-Id: <1588771076-73790-4-git-send-email-suravee.suthikulpanit@amd.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1588771076-73790-1-git-send-email-suravee.suthikulpanit@amd.com> References: <1588771076-73790-1-git-send-email-suravee.suthikulpanit@amd.com> X-ClientProxiedBy: DM5PR12CA0071.namprd12.prod.outlook.com (2603:10b6:3:103::33) To DM5PR12MB1163.namprd12.prod.outlook.com (2603:10b6:3:7a::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from ssuthiku-rhel7-ssp.amd.com (165.204.78.2) by DM5PR12CA0071.namprd12.prod.outlook.com (2603:10b6:3:103::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.28 via Frontend Transport; Wed, 6 May 2020 13:18:15 +0000 X-Mailer: git-send-email 1.8.3.1 X-Originating-IP: [165.204.78.2] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: e13ec9f6-87e1-4a61-b188-08d7f1bfefff X-MS-TrafficTypeDiagnostic: DM5PR12MB1228:|DM5PR12MB1228: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:628; X-Forefront-PRVS: 03950F25EC X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TtyUGAF+y9GvL9pqo79rOEQfX0TfJUbaUWvWEg8F77b5wiETYIoAlu7F2M7ecfHtEJ62EJCVXBO9/5EvhwVMpYjcu9+4GU8XTXCUmuG1BExMV+6YDQpmK/4xFOEE2jg7N1TQnsxdomlRtsXVRdJjwRTLG06xKiNRrmJJbiMGp14FNAAq9y5PO0CI4bJo1TnTZuanWlgqcJtHKun0u5QuHocSvtOe4IU4DNRcgsdXjxEM1Tbjw3A7ujzm/sCtqkxz1UBAW14s5Mw4zfrxUE1OhQslFMjLV8D6yGgz7P6J7wIVKPgcWc8Rpj1MNCrxvxjnfEksmbk0+h5LcQFQgi2UzK2Wf+giwukqw52vg8L9yt66TBr5WxfjxRJaXjpdR+mrx+5Iag7H594d4Ze19ac4nISJPSKOXL7tk36DgbtwZ7sVFIwc/uH+KTtzen2haGwxJMyPwYFZ2IX8KQI6tf07YmACtMO33/24PCejAJFlHnYY+PnL6N2GxdTU/Lg5imhHIgwzVx56SxkgfauYvF5k3w== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB1163.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(346002)(39860400002)(376002)(136003)(396003)(366004)(33430700001)(478600001)(956004)(2616005)(52116002)(7696005)(316002)(2906002)(44832011)(8936002)(36756003)(4326008)(8676002)(186003)(5660300002)(26005)(6486002)(66946007)(33440700001)(16526019)(66556008)(86362001)(6666004)(66476007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: S3OEfU6Hy/x32D3XDXa7/8EP+omNMrBEfwPgZxzCtjOPlMAZsYPkrsWn6gI7uKx/7oQ5Hwqe5h+dy2ogNqP1wk7NHgF7q3wAmA5riwg/hOX0YwrL/a8FZDYTA64b2A63d1+A8QzyupLsukd32e0QzipeyiCCZSFieYQ9+EppSP1AqExO48RxrYqHeyQb0KM63Aqo7LILp/j2ydjjB684JwOtxRUoBcRJm8SJB3VTcACu6EEN8Y85lDFu7kzdXfT9Im8p7koE51q8O588+YcAJMw569T1hxxRoNjHkrupbX6pqW30mgs4twTLZKD8sLEqvlj/cPHPDdxPtjK3JrqueARPVdh7ypDce39YthsocR5LBhg+BGnYOMBj4+gJUTZEWA7vKwgA08PVCmoPoiXb+NehDHn3YVekRJhPiMwVw4HbO+O8MB8GqkVw3sARpWmpEREU5wjbbITnp/xe41Guk4yleYEwXSM0e4zNP4Ve5URJ9XG40qhYp7+fhKsRhjWnMsGmzXLVZDkcO/iSAskuQcEjoko1tFv0T/U9Ljjb6BbiQYV9LdZAdaNj718/P9p5ECTiZQYbjjdBZ0c8N+bRsBviPskq/0Y3vmIcXQ/DdEjUSNjX51TE5MeNH7Epm7e4aAAwdccogOndE9VBHPwWMLkmidVjEvGr+syFhA3iETcHv2E4bYNJ8k7U9XIKJJGAGXQ/6IMos064GFYPRUZZN8w8sXlw2GEhg4gCC3Ldq+WHBcSDCBptgZe+UBCrdUvCWjRTfD+c+LdHRxksZALZSKQjG0Tun1RpfREJ9sf3QwM= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: e13ec9f6-87e1-4a61-b188-08d7f1bfefff X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2020 13:18:16.7852 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /sF0bIM7c/29VjQrtr2Q9mOn83+YXEE+ZyLRduJNinuJrNmznkVSZWRM1vDmXgXwxMD9nTnDPCmwZC9VCfhj3g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1228 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Code clean up and remove unnecessary intercept check for INTERCEPT_VINTR. Signed-off-by: Suravee Suthikulpanit --- arch/x86/kvm/svm/svm.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index c2117cd..8ac00b2 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -1364,12 +1364,13 @@ static void svm_cache_reg(struct kvm_vcpu *vcpu, enum kvm_reg reg) } } -static inline void svm_enable_vintr(struct vcpu_svm *svm) +static void svm_set_vintr(struct vcpu_svm *svm) { struct vmcb_control_area *control; /* The following fields are ignored when AVIC is enabled */ WARN_ON(kvm_vcpu_apicv_active(&svm->vcpu)); + set_intercept(svm, INTERCEPT_VINTR); /* * This is just a dummy VINTR to actually cause a vmexit to happen. @@ -1383,13 +1384,6 @@ static inline void svm_enable_vintr(struct vcpu_svm *svm) mark_dirty(svm->vmcb, VMCB_INTR); } -static void svm_set_vintr(struct vcpu_svm *svm) -{ - set_intercept(svm, INTERCEPT_VINTR); - if (is_intercept(svm, INTERCEPT_VINTR)) - svm_enable_vintr(svm); -} - static void svm_clear_vintr(struct vcpu_svm *svm) { clr_intercept(svm, INTERCEPT_VINTR); From patchwork Wed May 6 13:17:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Suthikulpanit, Suravee" X-Patchwork-Id: 11531201 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 41FC215AB for ; Wed, 6 May 2020 13:18:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 23E8420757 for ; Wed, 6 May 2020 13:18:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="3SYn7fl8" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728665AbgEFNSa (ORCPT ); Wed, 6 May 2020 09:18:30 -0400 Received: from mail-eopbgr760078.outbound.protection.outlook.com ([40.107.76.78]:6525 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728592AbgEFNS0 (ORCPT ); Wed, 6 May 2020 09:18:26 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FcRzv95RBl9DzestTRdVXxxqRS7wiQDWDqnOhUpNV6OVM5BNkbkBufJdGlobmTi5zrMukQ3uIHE7AJAamgt4eto1O80rHRM/QJaFgt0XxO/+OgGtDC6Yv+3gUWXz1wJ2Oka5fjS5pU+E7TljRVcPTGZbBdLEGsNQafY4zYUGDtEforxrIhsiVY9RzLVcxyTAWstLfxPjN49Rom5s2S84K+6P1JhBRQgWA+p7mX9+h6viHobtVp2HPFxiV/PjxJCtVOHh16krlcBzfcrcA5nLmCIZ5Wji2EdPWAbipDt0thdGPBg1vvgJh2nkZaJN4QrpScInKz+K8CYx7eQZtfMbyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lHHOMZpR3eK2tzrC3sApZvAs3wH0hW3rPgR6Bn26IDQ=; b=TdgjoR5IjbvarIGnLfuiRAeKPraLNDlRLXjlP04jjmBPCCAZ97klgRaWqK8RVYE/hHyDZmAovGflJzihAK6V9FnmhCLu51l3C81qFEZnNtCcFsvXGSZZZcD/9uKill6EQgzad0JmyH/IUjGxGf31jMMYUu0jSmGj9gSwoDPmrEBO5O2xD/HppFl9OlyOLu9A8tGceqwZ0T+KamXKfPUj/qs5ydW4DdO1Q78ZnKVI7AKG6/8gYyDt0sMPDPKF7lYBas7Oo9qWhCH5ngZU4Y3IOzpgK4KgdZ4CffsS5rmTnB66oSSlLpoHFTJqiS8cX2C6KMAeDkA4LtncDXi7bLtTrw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lHHOMZpR3eK2tzrC3sApZvAs3wH0hW3rPgR6Bn26IDQ=; b=3SYn7fl8K95y2fVN81/AKc/+Doe4LzAVoDHiJdkaTyxJzFhPfM3pvJiOfftzhMCnyOIvqf2lnZRp2Z6UPLQvW9PKbYp8R0UucJCCn3LQBZigC3ms+4fhQLcR5EU1cq1vosR1Sq/xCtentLW1++yuvjKV9iZPSjfl1mfGdneS1rk= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=amd.com; Received: from DM5PR12MB1163.namprd12.prod.outlook.com (2603:10b6:3:7a::18) by DM5PR12MB1258.namprd12.prod.outlook.com (2603:10b6:3:79::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.29; Wed, 6 May 2020 13:18:18 +0000 Received: from DM5PR12MB1163.namprd12.prod.outlook.com ([fe80::d061:4c5:954e:4744]) by DM5PR12MB1163.namprd12.prod.outlook.com ([fe80::d061:4c5:954e:4744%4]) with mapi id 15.20.2958.030; Wed, 6 May 2020 13:18:18 +0000 From: Suravee Suthikulpanit To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: pbonzini@redhat.com, joro@8bytes.org, jon.grimm@amd.com, mlevitsk@redhat.com, Suravee Suthikulpanit Subject: [PATCH 4/4] KVM: SVM: Remove unnecessary V_IRQ unsetting Date: Wed, 6 May 2020 08:17:56 -0500 Message-Id: <1588771076-73790-5-git-send-email-suravee.suthikulpanit@amd.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1588771076-73790-1-git-send-email-suravee.suthikulpanit@amd.com> References: <1588771076-73790-1-git-send-email-suravee.suthikulpanit@amd.com> X-ClientProxiedBy: DM5PR12CA0071.namprd12.prod.outlook.com (2603:10b6:3:103::33) To DM5PR12MB1163.namprd12.prod.outlook.com (2603:10b6:3:7a::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from ssuthiku-rhel7-ssp.amd.com (165.204.78.2) by DM5PR12CA0071.namprd12.prod.outlook.com (2603:10b6:3:103::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.28 via Frontend Transport; Wed, 6 May 2020 13:18:17 +0000 X-Mailer: git-send-email 1.8.3.1 X-Originating-IP: [165.204.78.2] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 87063f03-a4d9-4056-9065-08d7f1bff0bf X-MS-TrafficTypeDiagnostic: DM5PR12MB1258:|DM5PR12MB1258: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:163; X-Forefront-PRVS: 03950F25EC X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YxVyEbAAxdVfihqs20JH4GMLNpHv5OudBbqhAou0ICSFFRVAle4VNLwwyu+U0vjTvpk5TRXFHOQ/DQUk76HpL7se8IejSRZTyiXA+Zt0luazWCMyGwPTDe9ideJjWOByMZXKkp8uGlHr6QYTafWw2WwRXgW/aEoCzBmFO7FcAWs6BtaV8Fx8Pz55/A2LRSZ7TBPkwyLg8NlNiJMwTOlf10py3Kkb5aApuuteQ26WnxydV7/IoURueCaiva/CiTS5YeyVz0I+OKc+3JyyL5snue3PFIQUNJ9ArbEp+2iT2O26R0TOHlh36qgkBJHioRA7X538B7rTTz91AZQ9fnQCfTzo7hWTy1UgTo+W2pvpT70zR2qcQJuM6sTxzxyI90OM5DbhVD7AXjZghUWoPueyEV28mVcoF0VqS63Du32Xkau1se3CCDnvEsIfB+yRW98+IjIso5ExbVW2eOx1QJowXNvT0j+U6ElnbGFgCtZSR9XyshLRjVF+0vez94ExVWnfSxoWT/yQIfpIJcu3lXvVIQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB1163.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(366004)(39860400002)(376002)(136003)(396003)(346002)(33430700001)(4744005)(5660300002)(66556008)(66476007)(66946007)(7696005)(52116002)(8676002)(478600001)(8936002)(44832011)(6666004)(2906002)(2616005)(956004)(6486002)(86362001)(316002)(33440700001)(26005)(16526019)(186003)(36756003)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 5tqXaAUgaPvuF5qL9AJamN4jGXw+/PreR8eGhQKlx4qE8Qdsn7uB09dBQpG3B2ak7CNXmY6S6nf0imPbZEOmMxNZkoz6eDo1InBeOKGU5754YW7Xp3Fy8y+Do1NA5vQg8Am85mmsm4/lIN53gr88qWTSvTe/hvZHeo7CKmNqefK+x6b5Agutth7dQCCzpyGTYv8Z55nMQVR9q5z7e/m5SSLYnesgIia3vCXg3kX6vTt59hvfylIF4iCR6Rj+mZXlX//hgWw8wXpsgTZ0S0PKEeRLpMlGJOQTMpIrBlaOrnUfjcIioNka4ZJr6GnSaEUlbnteIHvnnr0vJVjeiiT5i00oDK2v+LffNBQfet0IBVOdiE6pOTuZ5BqyjqaitIOXWjvmDWVUi+2HDwLgeX3ar0aWBaW+/s2/Z9Sa3E78RSnhWcUZ/Q/wGd489Mfl/od7Q7XrccDC5VlLnthd6FTQllO+u4PHPYso/u4m330fnNfwdH4TvjX+XmlUKVf30yAYN6lV9CPG9zy9zDhbBOwJotoYmMNmpSDWHXAiHK3EqEes6KawZ5epHtBmLEnNSwMRmLR9Q0XO150XnU1Uyb8cH9N1owv0FYSroXZ09zgpU2IwX9qEcl89j/ph/G+1XMKGK53N8nkaDVfUvdJ9MF5UZIGYsp9zChyr804Cx3RSCG+DjWrobhjW0b83EaRzqxlLbHG/C7qb6vf8p8RZcgdFbsHs8EFbqlPJwJO+OvvzRII5ivJpPH/3oSO5lBVjwEMq7d+49oMS0xuaCVFG0ti4QCKlsswY/wtXKjrlcUdc+3M= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 87063f03-a4d9-4056-9065-08d7f1bff0bf X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2020 13:18:18.2595 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Yhz4BxlkO8bnIiCNipRJCylvmYlutyD9szQ11caOsi75v2augd/djpx3Uufx3/QJlxwILjl8pKpRo3/E78c/zQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1258 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org This has already been handled in the prior call to svm_clear_vintr(). Signed-off-by: Suravee Suthikulpanit --- arch/x86/kvm/svm/svm.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 8ac00b2..553d4b6 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -2662,8 +2662,6 @@ static int interrupt_window_interception(struct vcpu_svm *svm) */ svm_toggle_avic_for_irq_window(&svm->vcpu, true); - svm->vmcb->control.int_ctl &= ~V_IRQ_MASK; - mark_dirty(svm->vmcb, VMCB_INTR); ++svm->vcpu.stat.irq_window_exits; return 1; }