From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C806DE7719E for ; Mon, 13 Jan 2025 02:11:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To: Content-Type:References:Message-ID:Subject:CC:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+fLOt2fIG+loidnVM152IklkXHiBdttWfK8V5+Fvnbc=; b=BQ1yCa791csbiCW2yP8vfk46IW gB307o9t1RCZ7AcG7/rhyd75K2I5bHRemshmrHuyc6ImOi8sfM6QsWBr34N+gEmG85JSELN1iGEAw gfnDQFg+kwfTaQQtgqOI13oMyfdN3RIebjscMHDylWh6kh5Lxc5jQH6HlYfVXqmQUZymqlRDzdz0S MDht+fPx5/mOU4xZycY8qlYx8ySMHq+j8AcU6RAZmg6GJ3vBYUs8bs3Jn2rI1+AzFPxf31jDkS1Yy IBJHDyQKukw1fgYgEceW7x7YJ8BN+TAVRU2+VvG1Z8huMrTWTkiEA1qOwQ4EdzCmet3m067GziDIt fCY3BusA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tX9v6-00000003nSY-1YHl; Mon, 13 Jan 2025 02:11:12 +0000 Received: from mgamail.intel.com ([192.198.163.8]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tX9tl-00000003nFj-3FFa for linux-arm-kernel@lists.infradead.org; Mon, 13 Jan 2025 02:09:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1736734190; x=1768270190; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=44qVJ8JQQunPl/5DJY6lMrOqR1rHAF9jJeyesp7f8Ng=; b=jdmhT4yHm7gsVZKMacTGRWPpIkfb2T/8JbQ1c8pHSL3Nw5iIsXjAMYI+ JiHbxrGrRqHAE+MXlDvBFnXY5bIbc8KU8zhB7/oOuOfStvpfX8nU3jgCN P2HdKUoxUt9Wg8YxxeHovixJEYWO21yGcsjWCcUUkOub/ZHjURb/DePxs 9eAUD7FOFZ3xeeCIjSdTGvzqgoVaKGdOyNJxHdoxbrcoDnKKJM8rm/F+r BI+DjbG/gZjHQZgk7N9nXLnrKEJTzQyIsA8XQ30PJR5lXP4zZosfJJBqU rDE0SPzHh06koRieAL3VCGX3knRTm+WkBHBEfqQ2DQei62CrmHFvaxm9I A==; X-CSE-ConnectionGUID: AUKdgj/MT2WQSJIzZhLFkg== X-CSE-MsgGUID: odXW2jtHRXSmjUgmeapTeg== X-IronPort-AV: E=McAfee;i="6700,10204,11313"; a="54522351" X-IronPort-AV: E=Sophos;i="6.12,310,1728975600"; d="scan'208";a="54522351" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2025 18:09:41 -0800 X-CSE-ConnectionGUID: d8MipuyXTcKtRhl1qTs8BQ== X-CSE-MsgGUID: Ap2StcoKR7ywckdRsdRHGQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,310,1728975600"; d="scan'208";a="135141764" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Jan 2025 18:09:42 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.44; Sun, 12 Jan 2025 18:09:40 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.44 via Frontend Transport; Sun, 12 Jan 2025 18:09:40 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.47) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Sun, 12 Jan 2025 18:09:40 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MuSYMmfFqXazjTXHv0/hJaXeRvTG4hpGsItDip1xpjwD7NJLN5YKtTwlgf7JWX4oTgzfNh1k7bjzHXKuc1hVa/fQZ9eRuJTHLyH5QowXc46xlSce4ppxv/oZAceLBBxbO2+Qi+6LjsZfa4J7z0JmL18BNprWtmPy8KKmqHRWFIuRUgfK7R5uClqLLZyGRFp11K/9KfTZD/3tYdzyLMgndCoKy+r1zsV0DqsHdbz19I/Rqd/TbHQf9yQycYI7GnunTjGbM8rzUTMpuYSg3B6PXSC7qCv82iMu2rUCADmrDiHK2q3ZneZBJ5syTb+1iVxDmFamMYJdsqI//IH8P5tYcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+fLOt2fIG+loidnVM152IklkXHiBdttWfK8V5+Fvnbc=; b=AGw0ZNKH6XElsWPrFiDxW9NtBOf5ih88McokO8LDGsgkfvb1xJrShFtSxZaVn3h8+ARLQFOXRtb+vCJDCOdbxme5SC5bBzGnDsYcB1HdYdgdQ3ZhC08HrVXd2QxF7MpfJQpsOHc8LOLvV7rIhcPAhsJiPxBuMwByrvQqBUakxuzveHqlmXVdfFzVi5BNdv3ScwhtSd5HM1VPtlT38Ive/0snv2LAmfKkNgUj4VVFvKnx6YwKB07a6nl/BB8omCr/sUIHgmKc7b9nUwCpEJyd8jHoYTNM4ZGL3KsbCBapfH9+srpEjc/bCC9C8SgOO69/MxWGrL2YkYxGxe64hicYNg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from CH3PR11MB8660.namprd11.prod.outlook.com (2603:10b6:610:1ce::13) by DS0PR11MB7880.namprd11.prod.outlook.com (2603:10b6:8:f3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.18; Mon, 13 Jan 2025 02:09:38 +0000 Received: from CH3PR11MB8660.namprd11.prod.outlook.com ([fe80::cfad:add4:daad:fb9b]) by CH3PR11MB8660.namprd11.prod.outlook.com ([fe80::cfad:add4:daad:fb9b%5]) with mapi id 15.20.8335.017; Mon, 13 Jan 2025 02:09:38 +0000 Date: Mon, 13 Jan 2025 10:09:28 +0800 From: Chao Gao To: Sean Christopherson CC: Paolo Bonzini , Marc Zyngier , "Oliver Upton" , Michael Ellerman , , , , , Subject: Re: [PATCH 3/5] KVM: Add a common kvm_run flag to communicate an exit needs completion Message-ID: References: <20250111012450.1262638-1-seanjc@google.com> <20250111012450.1262638-4-seanjc@google.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20250111012450.1262638-4-seanjc@google.com> X-ClientProxiedBy: SI2PR01CA0017.apcprd01.prod.exchangelabs.com (2603:1096:4:191::19) To CH3PR11MB8660.namprd11.prod.outlook.com (2603:10b6:610:1ce::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR11MB8660:EE_|DS0PR11MB7880:EE_ X-MS-Office365-Filtering-Correlation-Id: 924063fc-7ee4-4ece-bb59-08dd3377554e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?tIwtRKj3YMqEOtTSxd60+tXOslhIYWeoE06xToSy0iJ21XBr4BGu9q9nz2Nl?= =?us-ascii?Q?jMuZyd2yAuEgew3rbjOEq3a6PW2ZawPG40JJVJWJT0FgDOCHTaGE5Jz4ONGE?= =?us-ascii?Q?RDyGfRHg5F5rSK0QjXjY8r03gDhA2Zph4bPt9ERZMIOH0FbQ/5TcrjklmQdb?= =?us-ascii?Q?QnOKNLO50p22Vu5wrvPpwVT8JSLRQe+wrGKb/GYo+GVTuoonlnnxnhG5GB5f?= =?us-ascii?Q?ImHXwPRSGlkqrBGxOZwknD7hRw2Ge7hEd7Et/Cr+ywpa4WdPmvgsf2Du9Hdl?= =?us-ascii?Q?x1dBd2hUCG6Vb0pmMCI3KyPBIgHGdqANkbFeRze0n+gWidBpByNsZ2hLgHQf?= =?us-ascii?Q?1gpokTuLB0YhZXYJ8e73yyD9bjJ+O9Azz87xRoj0DKFsD8FlEBLSpDlMHA5u?= =?us-ascii?Q?V+bRNHDvWP37kXlyiairIlH1IsMnSsOEub9SD8X6e73WoVd4ZmPF1YRo5t9t?= =?us-ascii?Q?DbFbZMQauVJZ44R9WMoctPdpdzu0mhGXoN20wEKxNc714mV+E6mfNMrrYMAu?= =?us-ascii?Q?LZarpwjM5f3MovIqfhdPFmbbUyIgR9yogks1Kl5s3HYR6ktS4P/Zi5E8lUui?= =?us-ascii?Q?n1wWgoslStDABMAbNBuw4BlAooFFpRBRN/w6t7dgqL6Wpeb7fn59XXqzLYC/?= =?us-ascii?Q?W/u6uZH6CodXtEfABCOgHs0YI0sTbA5xRQGYrnUcGg4bhxKrdJIlxDFcvLH2?= =?us-ascii?Q?A0iVgAnMEroLO7eIU3EMcAS/nDXn4HT2ddmspzn/MssSKEnBeKDmRn5NxNC5?= =?us-ascii?Q?9VIdyn88iR2+E0LmqIH8kQy2bLKnWwUXIbSRRyIj3xIllxCLVRRnZHgReIzG?= =?us-ascii?Q?afhTIhvNxlG57vvgNgtgnWzXWUldiwbCjcPkK1Idnz+Qlxq+HxBtlmGG82bl?= =?us-ascii?Q?ehbfuUBq7CJZn4JfTiPkiruIsgEA6O8IFKqsyaR7/lzBzn/VzTnIwcDVHJZF?= =?us-ascii?Q?DMz/Dn9lBnzLpp9JoGUP1wuSy760WQIgVgm6EkGFwnEfLgCUoM6bBPYibIPP?= =?us-ascii?Q?9EuP2iPSFyiYsyOjnYHl3jzcAPxDEqH3NvFTcC46oKmzzwmhQCY7/YwpVEZ7?= =?us-ascii?Q?HqZF7CJuUGpRNVIAT4uOTNQiEY7eS4842MwkxtE/csKNmCt36J5Z5AQF6stU?= =?us-ascii?Q?mdOcFERgpvoSUJsi+Edv7HBQ/7Y1SYXVFdkNoSVbANn09ZV9wMsAmS0i8w2S?= =?us-ascii?Q?HdH+Vu7ysst5X6dkkvMK4kf3Kuyb2LCEOx/Xpy/SxjSo93XOtVtPnlFP1Ijb?= =?us-ascii?Q?uX4eqxBcaDSSzPdG9h1zwNmNpPrpy4HUE7Ay7wG/R8lM77M21BKNyAb6KBTj?= =?us-ascii?Q?HF+8XRBOLbzT/N362t/twOAsYVeyOjSbMuzI+BFVIJ2t1zl8DLdp+laPOpku?= =?us-ascii?Q?08PI4wl0UOkSExmySTZTwdrKFHy9Bistns0ykxVF4AhI8RP84g=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR11MB8660.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?97MGEL9BwQHanUn183vEd2mKI8HaG6qTNp/95tOoT+sLcEmoseRlqjZO/LD9?= =?us-ascii?Q?8I72gzPtfZKf6vmU80/+YRtdTZyw5YeCaUw0pB8p51iXOq+ZzlUrjUh2QIPN?= =?us-ascii?Q?pc732JW3QVTsWmLqrEkYPfbkgP7rYZNoFzcmpj+qYV/76Uv5pzJQ8n2WGocW?= =?us-ascii?Q?VA4dpg4Z3sec6Ru1ZqF8teTHYCS5e6WMwCyfK5zBAZJcPxgIZ73L/y9pwvwO?= =?us-ascii?Q?ed+J61mfQLxoDr3Cy3kKiyvOZ0JN7oeAVYZvASpOvAjHTKN0QGgX+tp+bn2n?= =?us-ascii?Q?2hqhRZYph8LIUOPxky/Z4TskmYaAmKf6p5XS/j3VukXIxjt1GtCasxrWJUIq?= =?us-ascii?Q?LReyBO8iaaKlP2OKUMFGrmdizMIt6PqUPuSngl4AFRd71j00SwM+HNVBsBBZ?= =?us-ascii?Q?pRoJdQdqIKy/TgvPAMaLD3PM734AdWPRXyWjTSB0JTbnrVPdmPa1Ojcfy3f0?= =?us-ascii?Q?PbrBbsF7V5mX6CBjRHF7R30wkZJOyw8rz4IKWmdJjbfpWK7mjbYkIEJM3i3u?= =?us-ascii?Q?2kPXJYLQ4NEi6gKh1iC0k91aIgYo+ocl9jwCAlJ3+ju20MYQEiYvIB8sfdI4?= =?us-ascii?Q?N8ueHtpdhw0+jrTqUksb1t2tcRMdEAQ8tj2G3ntlC+iI/Kz19IV1DviaQQk0?= =?us-ascii?Q?6QQL+G7dbP7JBZjSSkESu/MT3ILEktK1s+Bqe9q18EImgXPELV5NRvRNLNHC?= =?us-ascii?Q?7vpHbsDSrsHO7FbTaxHnpGibEF4S9v+J3Cf5CsmpSuuAtEeiYrEJDLBTdMd6?= =?us-ascii?Q?0oYB1TsJMI6GB6fqiF4dGx7tr9V+yCqAKPOdEJIKNPzu6SdTPSquhkuWp8EN?= =?us-ascii?Q?F6/nS2B4yXxNZMA2jH7oN9u3btW62hRFTWqoCSihZxKI1RgplwzhF+/b7qXF?= =?us-ascii?Q?7O/TL0D976o0nr5aktsbrB4rXBEmsdyA575AghKb1USdWz2VkiG7a9e5m+wc?= =?us-ascii?Q?JHbjn7plOiHbTu4iy/eXznCAsXV2Ap/p1/Pw/5hPWR0ht8VIt4eSfHF2mQBv?= =?us-ascii?Q?AktOEhf7akPeOMBYg1PJ92zECKhfv9JFg9jy5JzLeTjZrpYAfUc4EWgYcoiH?= =?us-ascii?Q?J6oiJAzYAQcva5rP+ka/ReyhHrxVilmfAG6jMtDJUPTDLtvr7kuIf+S7IVpF?= =?us-ascii?Q?kgbVualTZaordJQK3gIlT1KUxiW9niilPLSDgMlGLSSXQhAymv0cWmdPud/1?= =?us-ascii?Q?t44Uys1EV4yj1BovpQN7FpXSBAbmWV1RQd2cC48nRAypSdjlBZFO9qfiK4Zo?= =?us-ascii?Q?NiUrqVRUyRxqPcNgyAMD02s2yMFbKM8+RiRgQQujqc+mOuR0eJJuyO089hHb?= =?us-ascii?Q?8kpbrxohUWdDMbTyOLaLwTZRDC4UbKslnaZjseiAASXOaW4fqnW8uBjFbwZX?= =?us-ascii?Q?u/aw1khiiMaVKwfgpHKNgQZ0Se9YRvMcpdVwLwasJSLLLKS+/eCi9dYb9aka?= =?us-ascii?Q?n91UXqPWHoaZo8esXQUMQWELqKkL5kvG+L0V5che51r3gHAkkpRYQd89FDJr?= =?us-ascii?Q?xrq8d50bALd/aowvf5qSucoY8bUYskLAp4rasYm4/hJqnYcogNFQcdsTcb6D?= =?us-ascii?Q?ZEsIMedK2C/tnHJc0HrPtIiOMZjnuudxO1ltLNF+?= X-MS-Exchange-CrossTenant-Network-Message-Id: 924063fc-7ee4-4ece-bb59-08dd3377554e X-MS-Exchange-CrossTenant-AuthSource: CH3PR11MB8660.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2025 02:09:38.5529 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XKex/+Tuny4IS5mEjJcMnwWb8ew/lL98JNob89kCjjGxDNuaqPpSExMHCLnMrSyzBZMg9civN4uwFKuE1Egz/Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7880 X-OriginatorOrg: intel.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250112_180949_828026_F727EB75 X-CRM114-Status: GOOD ( 12.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, Jan 10, 2025 at 05:24:48PM -0800, Sean Christopherson wrote: >Add a kvm_run flag, KVM_RUN_NEEDS_COMPLETION, to communicate to userspace >that KVM_RUN needs to be re-executed prior to save/restore in order to >complete the instruction/operation that triggered the userspace exit. > >KVM's current approach of adding notes in the Documentation is beyond >brittle, e.g. there is at least one known case where a KVM developer added >a new userspace exit type, and then that same developer forgot to handle >completion when adding userspace support. This answers one question I had: https://lore.kernel.org/kvm/Z1bmUCEdoZ87wIMn@intel.com/ So, it is the VMM's (i.e., QEMU's) responsibility to re-execute KVM_RUN in this case. Btw, can this flag be used to address the issue [*] with steal time accounting? We can set the new flag for each vCPU in the PM notifier and we need to change the re-execution to handle steal time accounting (not just IO completion). [*]: https://lore.kernel.org/kvm/Z36XJl1OAahVkxhl@google.com/ one nit below, >--- a/arch/x86/include/uapi/asm/kvm.h >+++ b/arch/x86/include/uapi/asm/kvm.h >@@ -104,9 +104,10 @@ struct kvm_ioapic_state { > #define KVM_IRQCHIP_IOAPIC 2 > #define KVM_NR_IRQCHIPS 3 > >-#define KVM_RUN_X86_SMM (1 << 0) >-#define KVM_RUN_X86_BUS_LOCK (1 << 1) >-#define KVM_RUN_X86_GUEST_MODE (1 << 2) >+#define KVM_RUN_X86_SMM (1 << 0) >+#define KVM_RUN_X86_BUS_LOCK (1 << 1) >+#define KVM_RUN_X86_GUEST_MODE (1 << 2) >+#define KVM_RUN_X86_NEEDS_COMPLETION (1 << 2) This X86_NEEDS_COMPLETION should be dropped. It is never used.