From patchwork Wed May 3 09:43:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13229978 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 8591BC77B75 for ; Wed, 3 May 2023 09:44:07 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.529054.822986 (Exim 4.92) (envelope-from ) id 1pu91Y-00077b-5C; Wed, 03 May 2023 09:43:48 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 529054.822986; Wed, 03 May 2023 09:43:48 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pu91Y-00077U-2P; Wed, 03 May 2023 09:43:48 +0000 Received: by outflank-mailman (input) for mailman id 529054; Wed, 03 May 2023 09:43:46 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pu91W-00077O-Kx for xen-devel@lists.xenproject.org; Wed, 03 May 2023 09:43:46 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on060c.outbound.protection.outlook.com [2a01:111:f400:fe1f::60c]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id ff163415-e996-11ed-b225-6b7b168915f2; Wed, 03 May 2023 11:43:45 +0200 (CEST) Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20) by VI1PR04MB7086.eurprd04.prod.outlook.com (2603:10a6:800:121::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.21; Wed, 3 May 2023 09:43:43 +0000 Received: from AM6PR04MB6551.eurprd04.prod.outlook.com ([fe80::768c:6df7:9afb:acd7]) by AM6PR04MB6551.eurprd04.prod.outlook.com ([fe80::768c:6df7:9afb:acd7%6]) with mapi id 15.20.6340.031; Wed, 3 May 2023 09:43:43 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: ff163415-e996-11ed-b225-6b7b168915f2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nvlVrJCN1wpMUgj5RBZnno5n0WKap57OL1+JRDZ+F+g+KkFqqEPEh/ZJ+fYg8GTyCIw9EHZb83WR1IYoR6uWXPuj6xwsItRbGt4/wzYmDPn3EL+IUJy5eBWL75MDauAz4vBkBKsZkBB2ZBljNfWnKuGKloYUCqqR02mL9l/3zyX1Tsk5LWLZsO/NEGbnkEvs1ooRtbtlOXmKy3mr1lEqxF+lVFBsZRGdizqEGK1EmlEBcCdiOuhxoouVjYQQJXIFnTRlup8qFaz7zgd05vpIBveqO0A5QyhPXI5fp7ScdliD/mfYRxaQ8yPfMwlcFqc4/cWMJRerBYIdNJRexF8N1A== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4Qwx2nQ1Z3b4p2Wd1pGiSoSwuiZ9EYUJViH5NdLyHps=; b=dufUCTfLXKqyjgptp1iOZTWPPYfzECmxfAzmTaGlyrh9GW+LyK9LHiuJDJKUbLXWrQT+YoUWo/w8X2rt1+niE0uqFrdCK5ezlXpK0bdCT5gch9RBnJdANYvswpdW25uzhqDrB5y7I4g2ggkFzf8cZenUmfXjbL/bFB8/MxPMI6qtUi2sS3gAScs5UGP2EzocKHWn5m/TYyarPbN1AVL5NBSg081iiDCftz4L70rtZYYbQaS0uydZvEJaPpp4jh7To17opIurqh/VyJW0OhZF9z1wAykjbQIGoShZzMji6qPLk1butwNfcsHycZhOCyPzBfy38UcMpsfuYVwsmL93tQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4Qwx2nQ1Z3b4p2Wd1pGiSoSwuiZ9EYUJViH5NdLyHps=; b=b+aVJ4RrBo3Op8HqLlmoDkjfH42M2z4CenQFBy7kWX3+eUr+VytlS7FWC9ZB/ImqlU+YSUOkA4EXpn/wOcNCFMZ7xSJKbdN4pZc8S0kPqXUCeCNY17RXiHCKOcnTebOSP+SpevsU2+RG4mg+/NBYvId/w/iY3zdKHSG9mKDxgcjiqVd0N1ljd7LOzYF3Mcfc9Ito5PfIFwDhhFwDOlNAuypu04j8tMRL0b7R77005i8d6J566AhdqtGy0rP3zvI5+nl4f+7tAiZ13G4S9O8qm4OkUi5S0pqvovxpcqwWPcDYGaJwUBlKWeSJNrzCXT7TXAd9udnPLCxy4FHvgXhtwA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Wed, 3 May 2023 11:43:41 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 From: Jan Beulich Subject: [PATCH v2 0/6] x86: reduce cache flushing overhead To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= Content-Language: en-US X-ClientProxiedBy: FR3P281CA0182.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a4::17) To AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|VI1PR04MB7086:EE_ X-MS-Office365-Filtering-Correlation-Id: 60341197-c4d2-4551-8528-08db4bbae23e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FkMeEnChH262wCFRe4r7jt69aNSmLpwDSoHKxhFiC/onfK87bxmIqT7atpT0wUkRNvMs8VM4dNL6WdP6o1PbUbkTgk1DXRqlvA4P3DOPluheeHAQr25MHlnlnZ/Nuh5nkVKLnTqhOTx4AAOPGZ5fegU2g+tyqif9Okv4+qnyzD/zij1kGhP3PQ++YiMca4cSNQiyWh/7L8Zgo8yYX5Rwd0dhQQH0Oxg1X8spohnI65+vf1KOP06uRuAaIslnhsXmjZ8dJDq/uLMpdsKya/iIBu5+RQyNwJ0VdVR0BrbcyTb2xL66XRE1ZuQKzUKLfXFv4+v6HAUeewjEqaBkSLeCEUYwa8+cp1m1G9kj8fJkCQY6Q1dhhMEzaD1A7/PxiJiiwBvwHIUnIBdIXTxo6TpQunrDyxRok5EnBjheyJFdD1rq5UEFgfEEJ5RjVM/XwBb+6iMNvJMY5Oqm6eny3WnYhHyMbO/lYiDwLW+/tYqGYk2wUI3V2GbfjhYEzjUfAkGx5hjnadinIFDdW5oDSY8PuIfKugRksjda8IXOICd/TVajvnbA++mG7shx4TrjU+PMWvzyMOlFijdJTjpyZgbVGHMY0hpc2lzdTjvq1bP2+TA0jwgmD3RvIoBPGTpYUdX2CW8tjz8OrmyeODZaEMwqug== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(366004)(376002)(136003)(346002)(451199021)(31686004)(36756003)(5660300002)(2906002)(38100700002)(31696002)(8676002)(316002)(86362001)(66476007)(66946007)(66556008)(41300700001)(8936002)(4326008)(83380400001)(54906003)(186003)(6512007)(26005)(6916009)(478600001)(6486002)(6506007)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?U7ugwcAUu/EUZHqtSq4FyrnFIwfQ?= =?utf-8?q?jq+A3N2CSzTiNijU8XwTW4ro0xr82BRShOlU3nYzebpTIdf21gzzI4yTcAMMWGKkt?= =?utf-8?q?CKbgxzo83jnrxSY922zDyL9iAETWE47QwtiJT78uRBCgEp0LNqwMt23M1rYocs+bI?= =?utf-8?q?DywnfwH2oIuSQicYCgIqu23mgrAaDckyiCKpWGh7U9xz4hIEfi4rqXJeSDfPdUWXz?= =?utf-8?q?zUsCfwU8qr9MCWdXE2c1STZ96sU/FxZqWg0k8QJfSWxDx+XWCt0W4YZRoqywruU+p?= =?utf-8?q?gtZT8pV92Sru13yX0RSURPEoAaigZTmiamPoRNW9t0GHDFAilD9xwPhUmDvjtiaEF?= =?utf-8?q?RIejp2KDshJLrfwZXxrlH2LovD0mZzTPFV1f4Ylo39C8ntOyU7H4fEF/P3PDCG6Vz?= =?utf-8?q?KF1FQKFBlaBh1ZN+iB3XZi6+7TJlFblI7QDX2BWCk3D8pneTzbqs/k3H6MPvLZh2s?= =?utf-8?q?TPwEBT4rAFADpVhtH+HhsVQ67bbakYPEZs5h4FXFMnTpw6gYK23zGvpPB0qmIH8cr?= =?utf-8?q?HarL4QBsqJ5PTkSNeIsFEQ0CkgonF4oOCcAohkaifZVlhVabCwtLS+QfCQ4w4uXw0?= =?utf-8?q?QoF4NiGGRIKOLfiK7Y6O6sFFP9OL4WQR3/z8f0zValOdsZnhqsTnnzsvQn6iIP0gR?= =?utf-8?q?FAPDenfZefv+mvDxrT1Q53cnftRFDViR4xZFRyYmqrutNoXAIQqh3sBSBzmpwspQm?= =?utf-8?q?orRmJ8d09DcEN/g0RYzggh9vPKg91/QTdGm1VUkMK5MRbxOw3MvfFzGMAxNgrGOSJ?= =?utf-8?q?8+Xqcj8AFhnrlBrwfYCBUTNLCjLjm1nCflOhf2w3CuKAr6eqdSlwiomo42dXPr1lN?= =?utf-8?q?frm0tXTxXHto21jXn5ITN6M3NFmAr1abfY7KfmMoKWbPycK46FDatySuBYWyjr3rY?= =?utf-8?q?MIHmWdxuurrhlKWaFUr6th4ygL71B/HO3sQcnmR5ChHi6uDBmLjzoqNgrmYQZdJlV?= =?utf-8?q?1+sp8Je/V8HQSpcES/R0XBIozf3bjQf/q7j89hf1p2TvRyBRK0up/V1LiruFNoVpm?= =?utf-8?q?kJnfAlGXbdLOpgrbl++evgHitJJWzW6THRwBGq2L4ykBWz4xGzj3ER578GzaCBB31?= =?utf-8?q?RrDUDxFv4ClEo+CjLxhs0MgjV1C77eVAx2VG5ISlBMkXtFbhkhZSu5S4eL4jdEc0s?= =?utf-8?q?kMfkuwP34gg3+N7HHtA5VEy7sS+JrYJIvWJItGnSJxOUuYFR/O00ORdWuC4KivG9l?= =?utf-8?q?k516dZE1mOidMsJZlyAMfYs5UQX8EHaIsWC7KPnvCowniOT5P2HvXFhOjRGytZQkM?= =?utf-8?q?XNbhL9J15hWrUTHckzLVxiPZ2AKWrySHHkrD8vNDWNGWHjCpJDjQ1d6bSNT+KMym6?= =?utf-8?q?hGZ0I0uIuEbXbONfAkYbTYocookgJemmvB/ixF+k/vFZ4yH60d52OPid1M6cVrSld?= =?utf-8?q?6hNPZWVFEPrRm/aT5fF6enp4aB8VCIOwZS6CmaIGtESDVBti5LrBiZ1CubDhteX5d?= =?utf-8?q?SaKFdAYD3fkdJ8XEdZO1nekc1yfCsUZmp5IZBM5uR1aLpI1Mu6DOdPYy31lpixX1o?= =?utf-8?q?adyT/L5FK62K?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 60341197-c4d2-4551-8528-08db4bbae23e X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2023 09:43:43.5911 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Hnc4CZffQ4vYpGE4NIt+OCnmRL+VctUOGgTtMB9dm3CXrOAjdlwUSSGzLa0wyEehkzPF2qg44ru23rCKGYYwYQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7086 ..., first and foremost by using cache write-back operations instead of flushing (evicting) ones when available and sufficient for the purpose. In the context of making the last patch I started wondering whether for PV we don't flush (write back) too little for MMUEXT_FLUSH_CACHE: Just like for HVM, pCPU-s a vCPU has run on before could still hold data in their caches. (We clearly still flush / write back too much in MMUEXT_FLUSH_CACHE_GLOBAL even with this series in place.) We also can't call this the guest's responsibility, as it may not have any means to have one of its vCPU-s run on the intended pCPU. v2 is merely changing some names, compared to v1. Other discussion on feedback sadly looks to have stalled. 1: x86: support cache-writeback in flush_area_local() et al 2: x86/HVM: restrict guest-induced WBINVD to cache writeback 3: x86/PV: restrict guest-induced WBINVD (or alike) to cache writeback 4: VT-d: restrict iommu_flush_all() to cache writeback 5: x86: FLUSH_CACHE -> FLUSH_CACHE_EVICT 6: x86/HVM: limit cache writeback overhead Jan