From patchwork Wed Jun 9 01:19:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krish Sadhukhan X-Patchwork-Id: 12308701 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA060C48BDF for ; Wed, 9 Jun 2021 02:10:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C894F61351 for ; Wed, 9 Jun 2021 02:10:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233629AbhFICMJ (ORCPT ); Tue, 8 Jun 2021 22:12:09 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:48664 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233454AbhFICMG (ORCPT ); Tue, 8 Jun 2021 22:12:06 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 1590rqOu178054; Wed, 9 Jun 2021 02:09:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2020-01-29; bh=t6whqB0sEEgGEJG950YazK6tKw+N3ZRrDCp6elXlmAc=; b=oRABewmg7jiEpwCSg1OgMaGQGVjtb5G3ByG/w050JtprDcpEZQ3PBf1DEHj910I9qRTf ehEsxKMaPEZlIl8Hjt5XX30Uy/H7aJEswKBaTs9PlVPaXvwD8/9pG6PLzsXTvkUkR7CQ 4viE5DcAVpYmgV44HCZfk7uPM0+/jJ29GtuuOvvbMBpm9sWsMUVdtlnE/Kz51csFDjcU 1G5jkhKo34aBT+RheupKQmVrbDQoyDPE+uZ6CTm/iZTlUq6s5sQI9UV95ptlcTE9q/0H o60qwYM05IYErz6t1SeZ/6SpUTbA/bu0w/fkM1zN5IrmQvqaMsgFJSyMiYUHEP8T14xA CA== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2120.oracle.com with ESMTP id 3914qup5hu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 09 Jun 2021 02:09:08 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 1590aNcn129799; Wed, 9 Jun 2021 02:09:07 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam07lp2041.outbound.protection.outlook.com [104.47.51.41]) by userp3030.oracle.com with ESMTP id 38yxcv89a1-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 09 Jun 2021 02:09:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k27JgoPc/XH+DfT3vBl7U5tdA17Mw50oh6njQZZQFIEPLmxgqdRYJEEYZf1z4P9UqnDFOYRBsQVY0GxQ7xM0Q3fSSXmkH2SABms0ka5ITKnISmw1GIh50MFmjwpW6VBFfh74EjogXLsRubv+PEs4jVVI+NdCA//gXhUpJTzC6pwEuMgnBmx2pRiTGuSWlR2HQnQF6lBDPUFXfsp5kWBvgxajNdHrNisLGWINid4JjODxSZOEK8zmtTUDp0Ch914Fok7ySipQdpbOjr7INwShuX+5HzHgBUq9uKiFnf6ibNc3RP/LLm/MtXb50LeD7zW2Q2OUegyOCq7CNYesml4sqg== 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=t6whqB0sEEgGEJG950YazK6tKw+N3ZRrDCp6elXlmAc=; b=EruLkl6THJ8gYVjbePCh9i5bmNP2Ncs6fvHwywstnyYUZ1hau/fvp477SBlJotHc/XVSNq/6NFjALT5MGYaDfW9VUDE+KAvqZWUHoWoKQjYN6WrXasWUENdIXoK8FBtUCdDgH9MJWF5tAnfxjEt2KzEZFQMojQeHKilBKN/xklBLKtADDUzUbx9Bjfwdc7oZCSuk/al48ieJYlOAPms0xGqcvSPTxCi/ya3XmPIj4dlesR9OWW3ro1J0XzstHMjRRdc2x+5o19Ung354p5b8H176CosNC67gQJOiVfKk1p5jFUwrkELPLyooRzXB1ypdX6bXGZgT4ItT4U7g3kVYVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t6whqB0sEEgGEJG950YazK6tKw+N3ZRrDCp6elXlmAc=; b=s+TX5IYPpmxxPyJgBTsffLf+oIJfnE2HEaCFJODk/zo+Ev0oMc6gFnaUg0Lo/PmwAT2DUdb5Sg9XyDZb9BPoyqSAI9kMZ1FvCcoFcAIJ5+iZaZ6VcYKZfNyLPBquKUe6qb4F5dh3jELTLhjcM+YY5ljIpARiL5XunmL61zmxXbk= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com; Received: from SN6PR10MB3021.namprd10.prod.outlook.com (2603:10b6:805:cc::19) by SA2PR10MB4524.namprd10.prod.outlook.com (2603:10b6:806:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.24; Wed, 9 Jun 2021 02:09:06 +0000 Received: from SN6PR10MB3021.namprd10.prod.outlook.com ([fe80::f17c:44eb:d1be:2107]) by SN6PR10MB3021.namprd10.prod.outlook.com ([fe80::f17c:44eb:d1be:2107%7]) with mapi id 15.20.4195.030; Wed, 9 Jun 2021 02:09:06 +0000 From: Krish Sadhukhan To: kvm@vger.kernel.org Cc: pbonzini@redhat.com, jmattson@google.com, seanjc@google.com, vkuznets@redhat.com, wanpengli@tencent.com, joro@8bytes.org Subject: [PATCH 1/3 v3] KVM: nVMX: nSVM: 'nested_run' should count guest-entry attempts that make it to guest code Date: Tue, 8 Jun 2021 21:19:33 -0400 Message-Id: <20210609011935.103017-2-krish.sadhukhan@oracle.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20210609011935.103017-1-krish.sadhukhan@oracle.com> References: <20210609011935.103017-1-krish.sadhukhan@oracle.com> X-Originating-IP: [138.3.201.29] X-ClientProxiedBy: SA0PR11CA0074.namprd11.prod.outlook.com (2603:10b6:806:d2::19) To SN6PR10MB3021.namprd10.prod.outlook.com (2603:10b6:805:cc::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from ban25x6uut29.us.oracle.com (138.3.201.29) by SA0PR11CA0074.namprd11.prod.outlook.com (2603:10b6:806:d2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.22 via Frontend Transport; Wed, 9 Jun 2021 02:09:05 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dcad634c-a505-4e43-f17f-08d92aeb8f38 X-MS-TrafficTypeDiagnostic: SA2PR10MB4524: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3383; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EiCTxMF2+mSP5bgpFe8RW36UXScTlIpq6xxS0yQ0xLPVqqrbS0lMJIK1w0bxkbDS56PSKLrCAQ8KoZ512wEtwcdgNL8lF+0EafxuURibCTtrpKCt5yIN40aM6AN2oKSpRof+zqHbrzLBh3fKoAmPm+gNHL/6LTEeS6wnLSlOdeWTnRAg/P810kaGsYd/Y0npBh/+XSaPJ+NiTsB0+eCkEgHTSYU/ab0IP2y0YTIeOFLR6BxkckEgS/HHdI3JaFl3Rllp7jaDhZ4MeTpvjNUaVrnoKH1b/6e5Y0kcytPnUPY95AuO1G5R/OifKbkCvyQsOtvO2bELc2ljD4CfLnTPaRAK8QJNzzwL4gdNGS7XTrZKie07DMTwpLbuhcWOXV6NdkjblIkRqVAtugUvrrjw66p6FCHY88N1SW6cIl+eG2x9hyffYuT6xNvbcaZhLVwPxj1MUFzPCn6de3gLY3QCxltIA+j1MnJw44qPUg5451R2WF3QLjLujQLQ0I82qL5HXirmQdYIrECH7vSkvD9tLP/6UqKZZTE15vl9VihwKmunVQe0lLnz/Ls+1t/9Kt5rqPsYTHhA2RKGOnPzJV9B626JFV6NElSsMJNQr1ERPcQ6LbZrW6ZE8sXmtHGWKMOqVW/+QTbokhh6jyUqyNYv6g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3021.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(39860400002)(376002)(346002)(396003)(52116002)(38350700002)(16526019)(186003)(83380400001)(38100700002)(7696005)(478600001)(44832011)(1076003)(5660300002)(86362001)(66946007)(4326008)(36756003)(26005)(2616005)(66476007)(956004)(66556008)(8936002)(2906002)(6916009)(316002)(8676002)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PCy0koIgUfHmdFTRIeHKBPuRqwiW8gBPwpcEvGnEs7dlxRDfMAcc4kABKnfCjO9kGF6202g9M2zJ9tNZtIWzpxGsoRWMO9BtxUlhv6NElGGPE+h5T3rJ1KmfKJzn5qQbXkbBqiMZOuroT6rxfVMyYJVLJziO/R68yiKaG925SjjIPiGzF7MLqF2Bd3SnKJMt6HuhV+CQv0hgcgFSGEvTFI8p6clOkJoxcx1I6OQat4/Dj6DE5/c7Ouuk9MrjeLWKX5sc1ktus9kjP6PnP1aLSiY6YbPBU0kyvQP6iuwLD1R2QF1v9fc5yGtiHzJmZNDkYJqj7b+rtblV1558DOfzy9OIy2ql9DdfdPbxo7TkNqqSEwYWl+lAG2M162huUoVllgBkhvgYZJAjmmA3L+DbQfk90EnV73/lt5T8fEcoXDcA5Z4wWL54pJWIVBeqW/FVvz7UjVh1ASGPEM8ORZyuGB+m1LdDlVAsRl2v0MbGYDTm/JjIm3LMj/sPQtgOYSunKrijt7VTu6lRUMd9GmVbze9c6AmYWuK196YqnIXP+KKuoUC8KmWZcKG//b8+Pnyt6RhGQG95OmH/OZJKf+tHvxeEh1QjAJVUfGSJhC2rPx7F0hPzWPt0jtqVJkLSt5B+NwBVdsK9Mt66S2GzqMfUKZlJwzkyTIp4USSS8KdBp3OlO6/O792qJ+YnN1hDSKMr9sogRVh3wvTUxuJX7PoaSY1JYn6ZufPnTSMGcSFPDQLvI7LB+9jhAiyYl2A5WhF1fLL4tydqtLUuxI5CDSbgGfi7hyPF7Rq+seuZl+WnqzAM2ecPeJDFKcqkOuQOqGrh8qRm7e7exCZTH2VfXNs6+NaikdzxCq3mjVupT7XDkKh36bzhEwsKkp7b6UrQ+iVcXPHRIDaj5hOBYmo+k3EvQSZhZCBSXx6YvxIiNQiLbJ18r/D/yogHDKi1ti8OT1pG+UiJP6HewrO3bnEJX3oeUYfvZVk3ck4lIAsIZVRd2LR8qk9+TDUZM7Gu75txBvBm1Ni2YnEn9VC5FwMZB2qsPZiAKbJUlG78Ruz5DTDcL+o+OrhpkoyxmUKYQkgthbxtsabGrfUvWTnUDwz8yQhPzHPJJI1nVKYcaoCSG6fXNX06X01HT01UAMgAGln+ZOMwQIFtxRfAz1D6J3v4A1XvLHECKJMRo+8l6fJP0FoGc2xzCb87NmXOGLJiLOgdPWcKas9/gGNQgB+ImzzqC1DFMJJZsti7vYIaE85WSxmuULqYyZkOs9Z8pf0ah2tSJBshSRcXPLbfR8dxwp6qkfAAoOEVWoCo7kxGXbfG0DQAdEZ3r/Qan0z+39VMd236Uubd X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: dcad634c-a505-4e43-f17f-08d92aeb8f38 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3021.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2021 02:09:06.0479 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qjgPGtxz0G0Ny3/EOmxeqrtKqLY5IfC8LmM7WrulSvQj3C8Unk1gUiNkfhM3Q5SafkvUeFUIMfznzn/HU7plOF0Tm6PL/WqELNy0yiBJtGw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4524 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10009 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 adultscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106090001 X-Proofpoint-ORIG-GUID: 09KWpMGRxNffFXXE9F3JpE5Ze5s3OJ3z X-Proofpoint-GUID: 09KWpMGRxNffFXXE9F3JpE5Ze5s3OJ3z X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10009 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 impostorscore=0 phishscore=0 spamscore=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501 adultscore=0 mlxscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106090001 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Currently, the 'nested_run' statistic counts all guest-entry attempts, including those that fail during vmentry checks on Intel and during consistency checks on AMD. Convert this statistic to count only those guest-entries that make it past these state checks and make it to guest code. This will tell us the number of guest-entries that actually executed or tried to execute guest code. Also, rename this statistic to 'nested_runs' since it is a count. Signed-off-by: Krish Sadhukhan --- arch/x86/include/asm/kvm_host.h | 2 +- arch/x86/kvm/svm/nested.c | 2 -- arch/x86/kvm/svm/svm.c | 6 ++++++ arch/x86/kvm/vmx/nested.c | 2 -- arch/x86/kvm/vmx/vmx.c | 13 ++++++++++++- arch/x86/kvm/x86.c | 2 +- 6 files changed, 20 insertions(+), 7 deletions(-) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 55efbacfc244..cf8557b2b90f 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -1170,7 +1170,7 @@ struct kvm_vcpu_stat { u64 req_event; u64 halt_poll_success_ns; u64 halt_poll_fail_ns; - u64 nested_run; + u64 nested_runs; u64 directed_yield_attempted; u64 directed_yield_successful; }; diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c index 5e8d8443154e..34fc74b0d58a 100644 --- a/arch/x86/kvm/svm/nested.c +++ b/arch/x86/kvm/svm/nested.c @@ -596,8 +596,6 @@ int nested_svm_vmrun(struct kvm_vcpu *vcpu) struct kvm_host_map map; u64 vmcb12_gpa; - ++vcpu->stat.nested_run; - if (is_smm(vcpu)) { kvm_queue_exception(vcpu, UD_VECTOR); return 1; diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 4dd9b7856e5b..31646b5c4877 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3872,6 +3872,12 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) svm->next_rip = 0; if (is_guest_mode(vcpu)) { nested_sync_control_from_vmcb02(svm); + + /* Track VMRUNs that have made past consistency checking */ + if (svm->nested.nested_run_pending && + svm->vmcb->control.exit_code != SVM_EXIT_ERR) + ++vcpu->stat.nested_runs; + svm->nested.nested_run_pending = 0; } diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c index 6058a65a6ede..94f70c0af4a4 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c @@ -3454,8 +3454,6 @@ static int nested_vmx_run(struct kvm_vcpu *vcpu, bool launch) u32 interrupt_shadow = vmx_get_interrupt_shadow(vcpu); enum nested_evmptrld_status evmptrld_status; - ++vcpu->stat.nested_run; - if (!nested_vmx_check_permission(vcpu)) return 1; diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index f2fd447eed45..fa8df7ab2756 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -6839,7 +6839,18 @@ static fastpath_t vmx_vcpu_run(struct kvm_vcpu *vcpu) kvm_load_host_xsave_state(vcpu); - vmx->nested.nested_run_pending = 0; + if (is_guest_mode(vcpu)) { + /* + * Track VMLAUNCH/VMRESUME that have made past guest state + * checking. + */ + if (vmx->nested.nested_run_pending && + !vmx->exit_reason.failed_vmentry) + ++vcpu->stat.nested_runs; + + vmx->nested.nested_run_pending = 0; + } + vmx->idt_vectoring_info = 0; if (unlikely(vmx->fail)) { diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 5bd550eaf683..6d1f51f6c344 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -243,7 +243,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = { VCPU_STAT("l1d_flush", l1d_flush), VCPU_STAT("halt_poll_success_ns", halt_poll_success_ns), VCPU_STAT("halt_poll_fail_ns", halt_poll_fail_ns), - VCPU_STAT("nested_run", nested_run), + VCPU_STAT("nested_runs", nested_runs), VCPU_STAT("directed_yield_attempted", directed_yield_attempted), VCPU_STAT("directed_yield_successful", directed_yield_successful), VM_STAT("mmu_shadow_zapped", mmu_shadow_zapped), From patchwork Wed Jun 9 01:19:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krish Sadhukhan X-Patchwork-Id: 12308699 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C63E4C48BCF for ; Wed, 9 Jun 2021 02:10:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A7AC66128E for ; Wed, 9 Jun 2021 02:10:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233571AbhFICMH (ORCPT ); Tue, 8 Jun 2021 22:12:07 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:42206 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231643AbhFICME (ORCPT ); Tue, 8 Jun 2021 22:12:04 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 1591AK1V036131; Wed, 9 Jun 2021 02:09:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2020-01-29; bh=rNwt9UOOm0/cE5NjYsCNNcoaSz4DNRBm+k1CVihfWZY=; b=L20/VKuqLM9qPQEmUELs4hYzAsCwiccmDxhAYvwyNa2cu2IKlrxK7qBugsPdZ636QAAK J2pMVx2pWtOtBWOy1ZlXs/tT4UMqVf18bSWvb6KAY0EPvaA33crglouyGnrq24SMBHAC qjZ1HGhLpU1l5HKamy4Lx9mAe2QyyfgbHwFi8Li4ZT63klAW26JGz77aebd/n8+TEuL0 9KBobhBSoU6IcdaM2r3h+gqJsbPvSX5H6vVZJ41dfVS/lL0pOz4bz7m5BXMxNe6rhhyp DQonDigED9YnAjFSmTvgiZUdMAnkhKvYEhsgSfBgU/oNNOYEbEwHZZDR6eRPlUb7oxjb 9Q== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2130.oracle.com with ESMTP id 3900ps7nbt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 09 Jun 2021 02:09:08 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 1590aNco129799; Wed, 9 Jun 2021 02:09:08 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam07lp2041.outbound.protection.outlook.com [104.47.51.41]) by userp3030.oracle.com with ESMTP id 38yxcv89a1-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 09 Jun 2021 02:09:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Avak5SovD7DnAJcNmLIO5O2uezGWvVXOsKvb5sMKsMd6dFb6NWrS7gq+q/HBR7yfvbpgah9g9k/ViPqYZQ6Oc2NBo0nWQfC/COl46IWc5sDVQCU4Fi8IXdxTK+GplVCWkvNilwl7NKorWUJmozO9DtIe3IXfHjpZV3rrxHdr3hX6iPO06+boUt8N1D8KbTQZDfelOmf2lrYWn5jxDyBdOk67+tzSJbXUr9ez3w+XP8YbotKFIwI0AVnyTj8zq/UtwbkDOoIFKhJIWyTtHX0GkMioAQcyD9xxhmlzCdNbIoktTwkrfNIsSxABMf/OAZHxj0AN0+8K85UNtOturekgfA== 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=rNwt9UOOm0/cE5NjYsCNNcoaSz4DNRBm+k1CVihfWZY=; b=ezKN4416G44S1jeBKpMUE67TI9yvXHwk7AqEJncXvhBUQ7Shc9ZWawHjThTP5XpAgXv5yj75iPEDD5iJ4S33RhfDSp5JTchAtFMkt4D4cz5hNhwJ7utDf33wUuel1tLR8Rhnl71oAohJBC+HZ5AS6R51nG9PUh1DDK6YMF+1imUGn+xQviBCFXbZDLK0J6D9vDqARN9KEpmac/EsownS0DDFe43I3isvvxPXxnskWYbltuGU1VaHrHZHiVt6srl+SrGolgbedyNsEIMQCVrYpFs8RHJiTi6C8s9RtDRz/TWge79V3JFvsJpKhxa6jYaGVsLxw+C5Afgq9C2oG4wrtQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rNwt9UOOm0/cE5NjYsCNNcoaSz4DNRBm+k1CVihfWZY=; b=gxbVqrvg8a9bQnvmuxIv72hHwm3AS4flDWIG94oLbWJILQQHYapjdtxnuGVi7J/3SMrNTK3I61ooB8rArVRcJaLyY4hMSIEAeOkXcH0YjstMC/V+sOYuvE6kGe1eZQ1C5Hk5I6pwOIklgE1zyol5mCNei5kspd5DYX1A5l2g+PQ= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com; Received: from SN6PR10MB3021.namprd10.prod.outlook.com (2603:10b6:805:cc::19) by SA2PR10MB4524.namprd10.prod.outlook.com (2603:10b6:806:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.24; Wed, 9 Jun 2021 02:09:07 +0000 Received: from SN6PR10MB3021.namprd10.prod.outlook.com ([fe80::f17c:44eb:d1be:2107]) by SN6PR10MB3021.namprd10.prod.outlook.com ([fe80::f17c:44eb:d1be:2107%7]) with mapi id 15.20.4195.030; Wed, 9 Jun 2021 02:09:07 +0000 From: Krish Sadhukhan To: kvm@vger.kernel.org Cc: pbonzini@redhat.com, jmattson@google.com, seanjc@google.com, vkuznets@redhat.com, wanpengli@tencent.com, joro@8bytes.org Subject: [PATCH 2/3 v3] KVM: nVMX: nSVM: Add a new VCPU statistic to show if VCPU is in guest mode Date: Tue, 8 Jun 2021 21:19:34 -0400 Message-Id: <20210609011935.103017-3-krish.sadhukhan@oracle.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20210609011935.103017-1-krish.sadhukhan@oracle.com> References: <20210609011935.103017-1-krish.sadhukhan@oracle.com> X-Originating-IP: [138.3.201.29] X-ClientProxiedBy: SA0PR11CA0074.namprd11.prod.outlook.com (2603:10b6:806:d2::19) To SN6PR10MB3021.namprd10.prod.outlook.com (2603:10b6:805:cc::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from ban25x6uut29.us.oracle.com (138.3.201.29) by SA0PR11CA0074.namprd11.prod.outlook.com (2603:10b6:806:d2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.22 via Frontend Transport; Wed, 9 Jun 2021 02:09:06 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 06908134-9a36-47fd-a01b-08d92aeb8fdf X-MS-TrafficTypeDiagnostic: SA2PR10MB4524: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QeO2x2psDsgEezqQbmovoQIcV1dxI1y3//MlIfNK7hS1G7fiugBTAP12m2TGd6rqTRXqnpcdKQMAUJQCXORrUiltxc8BShT2raOWxH4fPVJM6YQXrZRmCxYST817/Twa9vyMye9xVJmb2XxiymRIde22UHGZHNNrQGHoxo0zIPOegce6vn6uLb55E2JuK39/2n76UqmbQLsEFgNCOrvAlQXvv+0fxziK4Si2xd78rP5bVSGkEzSlo9i3y/QsHxklRcJofBo0/UigN/w+G678/V4iyOwqeynppsm+RQAnfBv5vsYiQDChJAFQkjMRi1LY1iuOc/BK2887pzhnYk7upGVRUY20JeOPf3Dg7GA6aNv8blxguBOoJlVMJFKVeDOLt97qhlVagA93URG0rWV3UC61JPpRSW8U1XC7Av4KLvkNvKWz/8XUjVfHFnTyU1G5jTaSEsUZgLuNVn9TLonHDhZP7Y1iQjEzNlxBs+HSXkRVeFpNj6EDOoWy+gqzwA2peU+0hkz74j7WNabvPIzACByghpW+/2sPbJP2gotGdnXTaoGmE1Il41FwtuljKsGTiJnyQda4L9KNKmY1HCja2ejxp64VqHrPardh5/IfPwtnUIO5XaAc4Aj7qBndoqMWFRiLBNUJlMgwEqr3/7frVg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3021.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(39860400002)(376002)(346002)(396003)(52116002)(38350700002)(16526019)(186003)(83380400001)(38100700002)(7696005)(478600001)(44832011)(1076003)(5660300002)(86362001)(66946007)(4326008)(36756003)(26005)(2616005)(66476007)(956004)(66556008)(8936002)(2906002)(6916009)(316002)(8676002)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ufZPVbD7D677Rrqjl0OpQzC6BLp8tuRFTPEM/8K5hg70J/qkX0+N+U7iIHNumxKdkq4IJwXYYQdQjcYlGmTVP+tAN0nSgeTjv361UPS0tb3Z0uIL0gpIoVGJNgcM/QjpKb6r2NMpoD4OQIEQJNBbIBPgsket6pBkdzMNg6/co/R+Wj1tYjYfj20VXVGWPbo+znlrUS3uVqHTpMPHB1dh2ECEQNAklE4UjoOeD+17CuZxM92iL24YKifyhjVKhi0AvSWXNWCE7exwSAHvCG82e7kjSOwaTzq5+3YJLXphLg2CkTB/GRkq2hajCk5uNpFNTSpr1cHrUP+LwTWVWpYVRuXizGKTi5MlNMydO/FEn+ZNIGo77KTKPuN3l5KwpLDhFhILkWFTX/aYRg/y0ohLjQdbDfhqKAQdofPWNOUUD8SUoATJcSs95hXeLGFp7CVOiJUax+eE0p7nwIwxQ2dIovCTtMWiCejA5wJg/MJb4k5wd1oIGFBgptmW+6x8cIODAauKw3svHgEykEKyA4CWnvkzVcnhrLaXvPTEWd/Z/7u3TsUUjFlMjcPbeFTEL6zVzs1iMCD/VfFWAvayUoPGH316LkC0l8hhQvq0l8vBQg7fRV4QmaOWoA6bD3BokmCosGO0X3N7Q3JTWkWipwdleNveXRCFUS9zTeceuTSz1VEbkUUTB7O9gJ+V84vXFx0wGOyb1giOmVyEKljEZyhKelqEzCHpQOT5XxEpXGlvN17mhWXlg3AJeoRnShPdgsG1bMEZJXCDxbPsfDl367fFUhkrVgyId23vROgA2ChzDJgGReJdztwpXyDvOYspVaAtjorSwDxaNIrYW8yDHX12srzoyxrWayWHn+Tz6FEF6ESN5l5Y0zGW82wYMKl0ZD85fg3VgiepulwSNDRkTgO61gzNni8TIjrhimlltIt9gaPq5bFlmHO1w/c/GzH/ZzPfcNEy8LfP7xaRCukcamKnmC3fBf4DnY6d3YW85p+Bhd7ZQPpGqHuwPmT05PIwjWzS1PjwXxtRkQE729eOhxo4XCAl+wFsUUKeAgzg+mxdOiFcnj5oVlQTxDYJNV0h4zB+IgA++JiXrCgrsXZVOmf2BtIp9H21aiSFcBw+DBW3sIybx/WwkT3RzQyKTUPOQLUB9AZ/TmEoeU0sO1d6lJKr5bgxAi5Dhe6YdHYtwunJ2PiEt8ASonU+IPP059bzH7SmL0FOjMQST7e6F9Yyos/EAdS3HDa23x4YtJRKSnPa805KI8WwiGfRSJLG6or96cBSb1OhxW51JIqjOcVRQqtI6Dc/PRpZ+JXoyOQ+gon7X03MkGxg6SD/9MAhniasFpXS X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06908134-9a36-47fd-a01b-08d92aeb8fdf X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3021.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2021 02:09:07.3451 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zhLkdWR2/Pf2f1yTUvOSOZbNChWELWEMsWFWaBQ3nm9rgGgTpjqEBJGwXC8rkXZtsFBXG1kJA2QBEohJgAs3P+W2R5z2Ur1WJvThi30Dt2Q= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4524 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10009 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 adultscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106090001 X-Proofpoint-GUID: 4Mw0I8TRsc0otHU4NYn0FBrl_kmfi7lq X-Proofpoint-ORIG-GUID: 4Mw0I8TRsc0otHU4NYn0FBrl_kmfi7lq X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10009 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 clxscore=1015 bulkscore=0 spamscore=0 mlxscore=0 adultscore=0 malwarescore=0 phishscore=0 suspectscore=0 lowpriorityscore=0 mlxlogscore=999 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106090001 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Add the following per-VCPU statistic to KVM debugfs to show if a given VCPU is in guest mode: guest_mode Also add this as a per-VM statistic to KVM debugfs to show the total number of VCPUs that are in guest mode in a given VM. Signed-off-by: Krish Sadhukhan --- arch/x86/include/asm/kvm_host.h | 1 + arch/x86/kvm/debugfs.c | 11 +++++++++++ arch/x86/kvm/kvm_cache_regs.h | 3 +++ arch/x86/kvm/x86.c | 1 + 4 files changed, 16 insertions(+) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index cf8557b2b90f..f6d5387bb88f 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -1173,6 +1173,7 @@ struct kvm_vcpu_stat { u64 nested_runs; u64 directed_yield_attempted; u64 directed_yield_successful; + u64 guest_mode; }; struct x86_instruction_info; diff --git a/arch/x86/kvm/debugfs.c b/arch/x86/kvm/debugfs.c index 7e818d64bb4d..95a98413dc32 100644 --- a/arch/x86/kvm/debugfs.c +++ b/arch/x86/kvm/debugfs.c @@ -17,6 +17,15 @@ static int vcpu_get_timer_advance_ns(void *data, u64 *val) DEFINE_SIMPLE_ATTRIBUTE(vcpu_timer_advance_ns_fops, vcpu_get_timer_advance_ns, NULL, "%llu\n"); +static int vcpu_get_guest_mode(void *data, u64 *val) +{ + struct kvm_vcpu *vcpu = (struct kvm_vcpu *) data; + *val = vcpu->stat.guest_mode; + return 0; +} + +DEFINE_SIMPLE_ATTRIBUTE(vcpu_guest_mode_fops, vcpu_get_guest_mode, NULL, "%lld\n"); + static int vcpu_get_tsc_offset(void *data, u64 *val) { struct kvm_vcpu *vcpu = (struct kvm_vcpu *) data; @@ -45,6 +54,8 @@ DEFINE_SIMPLE_ATTRIBUTE(vcpu_tsc_scaling_frac_fops, vcpu_get_tsc_scaling_frac_bi void kvm_arch_create_vcpu_debugfs(struct kvm_vcpu *vcpu, struct dentry *debugfs_dentry) { + debugfs_create_file("guest_mode", 0444, debugfs_dentry, vcpu, + &vcpu_guest_mode_fops); debugfs_create_file("tsc-offset", 0444, debugfs_dentry, vcpu, &vcpu_tsc_offset_fops); diff --git a/arch/x86/kvm/kvm_cache_regs.h b/arch/x86/kvm/kvm_cache_regs.h index 3db5c42c9ecd..ebddbd37a0bf 100644 --- a/arch/x86/kvm/kvm_cache_regs.h +++ b/arch/x86/kvm/kvm_cache_regs.h @@ -162,6 +162,7 @@ static inline u64 kvm_read_edx_eax(struct kvm_vcpu *vcpu) static inline void enter_guest_mode(struct kvm_vcpu *vcpu) { vcpu->arch.hflags |= HF_GUEST_MASK; + vcpu->stat.guest_mode = 1; } static inline void leave_guest_mode(struct kvm_vcpu *vcpu) @@ -172,6 +173,8 @@ static inline void leave_guest_mode(struct kvm_vcpu *vcpu) vcpu->arch.load_eoi_exitmap_pending = false; kvm_make_request(KVM_REQ_LOAD_EOI_EXITMAP, vcpu); } + + vcpu->stat.guest_mode = 0; } static inline bool is_guest_mode(struct kvm_vcpu *vcpu) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 6d1f51f6c344..baa953757911 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -246,6 +246,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = { VCPU_STAT("nested_runs", nested_runs), VCPU_STAT("directed_yield_attempted", directed_yield_attempted), VCPU_STAT("directed_yield_successful", directed_yield_successful), + VCPU_STAT("guest_mode", guest_mode), VM_STAT("mmu_shadow_zapped", mmu_shadow_zapped), VM_STAT("mmu_pte_write", mmu_pte_write), VM_STAT("mmu_pde_zapped", mmu_pde_zapped), From patchwork Wed Jun 9 01:19:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krish Sadhukhan X-Patchwork-Id: 12308697 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7B5BC4743D for ; Wed, 9 Jun 2021 02:10:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9A6116128D for ; Wed, 9 Jun 2021 02:10:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232224AbhFICMG (ORCPT ); Tue, 8 Jun 2021 22:12:06 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:51334 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229814AbhFICMD (ORCPT ); Tue, 8 Jun 2021 22:12:03 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 1591mVho166471; Wed, 9 Jun 2021 02:09:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2020-01-29; bh=S5olhzKmMotylBipaseeLMQqmsffbGp1YEJKKuaJR98=; b=uFyEMUAxowym0sLu45jnulULxpRemq+eyLTz2jppL9oOwPZQGmLmA7Zq02uhMHwHoTUl a768O8BLUG3Bjatdg3YXjECMu3bgIMujsQFhOZ5xb3KnEs0i2PilLzEx52T6RBH5pIou WGX2N7s8WNq/Jh2VNR25dNpp+vFSGfE7KiloUjB0KvzHQ2a7p5rCPAGCUQy/Lxsb8uEo 0AcnUzD0sWFttBVFZ79yXiboy4XoshyVY0lAgGrCrdHr/nwE3TLNS9LMQ0cyrId0iwZb jSw8viGCBNZqEKsS4avFcEOA6TSJ7hDM1+yBe5Ls2Q/W3W5k1GF6IhujbvLtoN+zR3at dQ== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2120.oracle.com with ESMTP id 39017nfn2k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 09 Jun 2021 02:09:11 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 1590aNee129748; Wed, 9 Jun 2021 02:09:10 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam07lp2042.outbound.protection.outlook.com [104.47.51.42]) by userp3030.oracle.com with ESMTP id 38yxcv89ar-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 09 Jun 2021 02:09:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bh2nSfJs+gu1hAsBQXdpw1VqN+HBl7ENMXTXKvO0xPGE+n4yws5WhQP6kh5bPXsLk2zYwdWUqK10N5+tCBE3gDk7ziKKy13WPCizPUQtYxtMEhjPoDZPcUnBMpxb2Wr/X17iIE3eYnFyoCLJagLWtUhG7dtVpVzmycgWxh5epsSAxNs1arkxPVKIUPwUnUz3GmoV2ElIYYP50ydyQhInGTDtHAnhb4jHUqlSWzIF0SYQIIVuyVhcwVsRzUD4zf41XvyjDhN5CxExCH6tgG7usxfKLYo/x23gk9yapyKF4FNV8L0W153p87yEtPp8YXuW9NS3QBK11tvrcZ692ldbcg== 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=S5olhzKmMotylBipaseeLMQqmsffbGp1YEJKKuaJR98=; b=DKVF7buYI/oRXNU5Xpkiv9yi9TT9SQDFHV1AcNonacChugybN4Va2NC8Thx537REHIh0g9m0ubrpQ6Lr7sn/IS4vQbx+VSGpe+BuKI4wh64svaTi4AlPbO4klDrb4xa0YoE8PKx6NcwKDym8qeHWCiDLf/dENKqvfGG/FGjsKJoxuTdbC3/7PJPWHfvrIiVJ3yr27XH/JpXfJrhY5AH8ojWLENWiBRs83IFAO8quQPwvBZWfiLM55HgZhxFKx7LyBnPn3MOQPcTlQmQ464d/qRgijRH3zmNa+3A+ROFqxwAc25ZwdxCUfAP31VGxKJBLxc9ha7R7r4ZBxEFeKprV/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S5olhzKmMotylBipaseeLMQqmsffbGp1YEJKKuaJR98=; b=M6pP4bmdiZWtHyrGNpVO+GI2kPizPHCYE3K0Dl/WGQRnjDumCQj8ytzGx20YCG9/sguo9lynEN6oYYSi53HO9MVFanjMoDHHa2Vhcn6plTBV5mnWxPlMhcopYiHkUAF3Gh8O7L1rDyoMCi+YvGv7hay/3zmz2a0OxZp1YL1oeAA= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com; Received: from SN6PR10MB3021.namprd10.prod.outlook.com (2603:10b6:805:cc::19) by SA2PR10MB4524.namprd10.prod.outlook.com (2603:10b6:806:118::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.24; Wed, 9 Jun 2021 02:09:08 +0000 Received: from SN6PR10MB3021.namprd10.prod.outlook.com ([fe80::f17c:44eb:d1be:2107]) by SN6PR10MB3021.namprd10.prod.outlook.com ([fe80::f17c:44eb:d1be:2107%7]) with mapi id 15.20.4195.030; Wed, 9 Jun 2021 02:09:08 +0000 From: Krish Sadhukhan To: kvm@vger.kernel.org Cc: pbonzini@redhat.com, jmattson@google.com, seanjc@google.com, vkuznets@redhat.com, wanpengli@tencent.com, joro@8bytes.org Subject: [PATCH 3/3 v3] KVM: x86: Add a new VM statistic to show number of VCPUs created in a given VM Date: Tue, 8 Jun 2021 21:19:35 -0400 Message-Id: <20210609011935.103017-4-krish.sadhukhan@oracle.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20210609011935.103017-1-krish.sadhukhan@oracle.com> References: <20210609011935.103017-1-krish.sadhukhan@oracle.com> X-Originating-IP: [138.3.201.29] X-ClientProxiedBy: SA0PR11CA0074.namprd11.prod.outlook.com (2603:10b6:806:d2::19) To SN6PR10MB3021.namprd10.prod.outlook.com (2603:10b6:805:cc::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from ban25x6uut29.us.oracle.com (138.3.201.29) by SA0PR11CA0074.namprd11.prod.outlook.com (2603:10b6:806:d2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.22 via Frontend Transport; Wed, 9 Jun 2021 02:09:07 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a2be4e77-08ce-40f9-cff9-08d92aeb9092 X-MS-TrafficTypeDiagnostic: SA2PR10MB4524: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KkNQbMhwuuHje57jhDeyhB15ILOAVAOOR82CS1efpJdx7hSAnx/WlPSWgvkZpCz89TzszQf1JVmEUYzEdZLQOh/4DfYDrzWVo2rAGUt9VE86vpwqKfTM4HukUWteR38fn9nN9QIoBQTN63wD+mZhymQ9SZnzmZiPJogVV+ORImxVj6To4UWNhq97SQgnie1pSjXOHtK0CRqHAr4S4EbnjQ62VhTJv1HYwFJcdTnIXUgGHP0PV72vYYAtJsrMYv7v1cB5O10a/oDIQXbYE3yqRaYXFrh1mQ+EdZTwrRaTwRx39zgTYlE38rLklBRAd4egM9aU1NxG0VCzY+IYuDwlD1yEWkaOT2SWTVHslmbg800sOlbQUUHfcE2XlOD9sZsC5yoQxEXJq7IejVJlBcFD2RdV36x3KLj6pULENTigPmNbawjw6h9P5SGwpAag21lR4PwToFsOJBgSmELmQd0UgaWBfxXYSOJkA3gGRf1gVerPysY87yxowJOBJ1st0cogLe+dgn4rV3dTVJVqMuUOHv4Lm2Mc7U8haHQ52skT48BqA3gSRvUpNdyS8wJS2zw2Nkk98x3d+7Gu0f5x3uq//VzCIAi/OkBBi+BbjqmNSR6i/GEO8QalnkpYOPvYBTz4qBTDKMoSmKPyMJ9S/oKlvw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3021.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(39860400002)(376002)(346002)(396003)(52116002)(38350700002)(16526019)(186003)(83380400001)(38100700002)(7696005)(478600001)(44832011)(1076003)(5660300002)(86362001)(66946007)(4326008)(36756003)(26005)(2616005)(66476007)(956004)(66556008)(8936002)(2906002)(6916009)(316002)(8676002)(6486002)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BHihGHT/gD/3SnRzUQqroh3yAsvoqY1IYqRwfRzxMxSj5WuEi1afzfbUiNoz+3ErdjbYwpjqRaGNQLVgDU7ac0um/5LcMuuf+kgdjx6qMAXwQj4sP+PLd6hrzcewCIPnPBmPIe4m3CCXaLmpVtzQde10BmLcYWNscNHNQR0EKEer6qX9LAUQsCShU33jnW3PMGLKb8QJ009EwlhmDQQYGQpxPNJbqTxqVCXNsfBi2DiI9dDUHOV3ks6ROdcnlluW+9soDaD7fPC/wklaRahQ3v/f8nbSdhySHWAkKzjox2e7INMCAHGJBiIj+XRdPyGGovqt+1MNx5ckY/SFk+ulFiyzLcXBkH0CZ0C26kjfPpecpVt271Idp/9iqa6F8sy7JOqsKEYv0oerefQ2CZImcWL6qRXx2ZR6hjFWqzdJ8ORlmgLq5nrBQNYMnVfQPk5MAmoOijE/9ObicHGj3qED3GGxiN9IQ0g60qJQCY0acs8BwUlbOlzMYYGoZ4m5UBkxnj+XyeG283QV2hLaQ0K1nUmPr14xNr+WqipHLWQjYAq0U1jHZYhOadMVrvSwbbEgNcigM8XzXkxZqbwfeVlwMvnvmffu7Jshiubq3bbUr2LVoaATskGgyyTrKWdAjOVtTuA2mtV81dmu9givrgNfM7m40KB9x/wffDNt9Mhm9xSxVokkRfeYKSWtRLSVtzb3ziocjytXoOToJ/R5cJFxtDQ4ZwRXZVL1LnOu2a5yRFL9KJdD4husQy++tpR1Tysg+MCPAy2KUPz1JD8WYq1NPqb2ENIQobG7zUoS+Ba9WP7oVi9OZmVbhSCj9NWsLNcxpVqjXoN66xsKzwHscPR7PheApzUUEo/1JtcpyGjCkBa2wonkXTPKUr1XNZ3bf+5MqyLX3Y32hxw4sJRX1jA+98UsG1UfOdJUreOFIYAG81x5fe+/eDPwBvJqV2UVblHUl19k5k/LcmUXNr9v/WYmIwX1O+4ZZCpVQ9InKXZXf0gi6AgFn7+mWwtR5mVpyPO+jMQAQBgifCZlyhPxNDs6FP0y74iKbgRNf6YL8or0RxW1TLH9m2yCQ7EyHDey/ezPmYzyHVqe0ZCREz2RRYTTUb+lrWNhORVA5M5L58naJaYP2o1YVPknf8mduQyb0U9MeKF230G29ZSjFraQ36HmleNmwFz3Ax5xdSOjr5Di0JzJ8AOqPjPV1U1noRiyleioYNAPatlXHfQyOmL4nYSIpbgQkVAxh2ZXnZNAqo3F+aDc/xU3CCJgyRyEMARWIwPSJSstUou+PBN7m6PyuK2DBtCFxZ2tqxpkhhCIQjTti+gh5yQcSTpSeBQgFtztWXtR X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2be4e77-08ce-40f9-cff9-08d92aeb9092 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3021.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2021 02:09:08.2616 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KE4ihuHEXX5PNIV4unPLJW2Uscis2a+nJBHuy79csHzao45L/rpUBulZY/AfLu0NUI6xcGsxjXD/1aVtSl+HxuB0PV4Bb2FF4Hfrjx4kDP8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4524 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10009 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 mlxscore=0 spamscore=0 adultscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106090001 X-Proofpoint-GUID: isuF9flwOVHE7691mOpgUTquXwj5xtT3 X-Proofpoint-ORIG-GUID: isuF9flwOVHE7691mOpgUTquXwj5xtT3 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10009 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 spamscore=0 mlxlogscore=999 phishscore=0 impostorscore=0 suspectscore=0 clxscore=1015 mlxscore=0 malwarescore=0 priorityscore=1501 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106090001 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org 'struct kvm' already has a member for tracking the number of VCPUs created in a given VM. Add this as a new VM statistic to KVM debugfs. This statistic can be a useful metric to track the usage of VCPUs on a host running customer VMs. Signed-off-by: Krish Sadhukhan Reported-by: kernel test robot Reported-by: kernel test robot --- arch/x86/include/asm/kvm_host.h | 1 + arch/x86/kvm/x86.c | 1 + virt/kvm/kvm_main.c | 2 ++ 3 files changed, 4 insertions(+) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index f6d5387bb88f..8f61a3fc3d39 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -1138,6 +1138,7 @@ struct kvm_vm_stat { ulong lpages; ulong nx_lpage_splits; ulong max_mmu_page_hash_collisions; + ulong vcpus; }; struct kvm_vcpu_stat { diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index baa953757911..7a1ff3052488 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -258,6 +258,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = { VM_STAT("largepages", lpages, .mode = 0444), VM_STAT("nx_largepages_splitted", nx_lpage_splits, .mode = 0444), VM_STAT("max_mmu_page_hash_collisions", max_mmu_page_hash_collisions), + VM_STAT("vcpus", vcpus), { NULL } }; diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 6b4feb92dc79..d910e4020a43 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -3318,6 +3318,7 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id) } kvm->created_vcpus++; + kvm->stat.vcpus++; mutex_unlock(&kvm->lock); r = kvm_arch_vcpu_precreate(kvm, id); @@ -3394,6 +3395,7 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id) vcpu_decrement: mutex_lock(&kvm->lock); kvm->created_vcpus--; + kvm->stat.vcpus--; mutex_unlock(&kvm->lock); return r; }