From patchwork Fri Apr 29 13:20:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12832003 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 1ECB1C433F5 for ; Fri, 29 Apr 2022 13:21:38 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.317290.536555 (Exim 4.92) (envelope-from ) id 1nkQYT-00026X-TH; Fri, 29 Apr 2022 13:21:05 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 317290.536555; Fri, 29 Apr 2022 13:21:05 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nkQYT-00026Q-QJ; Fri, 29 Apr 2022 13:21:05 +0000 Received: by outflank-mailman (input) for mailman id 317290; Fri, 29 Apr 2022 13:21:05 +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 1nkQYT-00026K-7Z for xen-devel@lists.xenproject.org; Fri, 29 Apr 2022 13:21:05 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 37bbf62a-c7bf-11ec-a405-831a346695d4; Fri, 29 Apr 2022 15:21:03 +0200 (CEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-ve1eur02lp2056.outbound.protection.outlook.com [104.47.6.56]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-32-ouXjSra1M7WTHTVbutst6g-1; Fri, 29 Apr 2022 15:21:01 +0200 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) by AM6PR04MB5223.eurprd04.prod.outlook.com (2603:10a6:20b:3::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.14; Fri, 29 Apr 2022 13:20:59 +0000 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f]) by DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5cb0:5195:4203:7c2f%8]) with mapi id 15.20.5206.013; Fri, 29 Apr 2022 13:20:59 +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: 37bbf62a-c7bf-11ec-a405-831a346695d4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1651238462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7ZzJDH6f8FIiK74a5RGH7pg8PNMuStwl3xMqiFiX1TU=; b=HGqYJtJHzA43echm53PrircyQhNjc2TvWR2uNh3BPUIioXFG61nIBJll+FK6gx/rTGxEU8 lTFgv/btFlqV7gVlrf9eUPBHABGVVrUSQqUWWTBe4ygxIHLYvhX0Gd0HxzydeUvijskwNZ 2gnS81aIblNF/kNL6motdobZaV1opXU= X-MC-Unique: ouXjSra1M7WTHTVbutst6g-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PX1ffaPNRK1FY2CHsOsxhQnhq9KRAuuqr5Oiy+kS1DNAsRbwcHISqIhtKxBt1zApsmm9ocipgcp/mSEv9z9ph8nkc0SiLNF/gEjPCJuK3G+8UWbBgnizsepEvrHupEgal2S+4+N1b6mTKDpzsrfgix4+7ss9yMrbGSGoji1m3xK3t2k+9E15WmKhm5KTkMCBK/ztg/xalGNODaINcA1vVQuqrmqXW2hRHa0ScHVehYG0yWjjckRG458GCepGC2fj/N0IA2rgV3Y/LnNS9RkbXW9fSr+OlnQO/0QjE/J4Y6wr7RGM3hVWS1n5TA2UC2vKRqEQhZ3uMLf84BF+7NH5NQ== 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=7ZzJDH6f8FIiK74a5RGH7pg8PNMuStwl3xMqiFiX1TU=; b=DCJZM5XhBDBTgamUX/1yL/sH2pSg/hs1/Ha3RRrTRX/nbgKv96W3SyJy0hRvE9nhecpe3gIIlRKVmLYJYz4bJQsiLzZ/cNvN5t6yeIjoqdR99YqJEkARIRPm9IW3nis5fcJG+ielv1nTP8RpF0jaocJG2z3SE4S0yO/H9B2oHV41ZEdnBNZn0Z1mmKEVsJCSkwrnrJgPgO2gXu/uTUmUdeab9Z6ReuhRoVyDZrPeBPpZyulojIWKnxa3p01/Oc9Ip4NIB/j/BrX4NHq+qqOk0nx33iROQIw5Y5KkCBJsWAmDVOFvO1uy6aJ2cPs/l34KHhBGgIlByC9LDP397/gR6A== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Fri, 29 Apr 2022 15:20:58 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Content-Language: en-US To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , David Vrabel From: Jan Beulich Subject: [PATCH] x86/mm: slightly relax TLB-flush-local check again X-ClientProxiedBy: AM6PR04CA0018.eurprd04.prod.outlook.com (2603:10a6:20b:92::31) To DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5ee6d385-f352-44c9-ba5b-08da29e319ee X-MS-TrafficTypeDiagnostic: AM6PR04MB5223:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NIPYmRLCUCww0xKBIibWtF7p1zPWagotU+91lHEtAIDHiCyJNdsJ/zbM3chmcavI/hGlPRnYRbRXYb8D+xpRzsjEB3lqniLBzZxq0jnFqZKsxNr1ZJsF2LuXEb9tguLpBeZxy1FLelV+4cFzBt6cZ/u9kzFR8Wilmk7ZbOQ6J2Cl3ZpXVvdUOZuBlt3YwHFcHsidOmAreWshKwnMkZoLaTAB7ymlplLiv9UD/jwnEc9WxUwJBwEGnXcp5MvAZHxL2ByKyvECu+KmTE53x1/+OTdBn2YlnU+69VON5JoaN6TDdxJFtIUWrWV9L4baT82iaXnkSjADmFN5xpXGt1ZU7SMDD4TKNXdHal3QgJHf/gUQcdq3Ms7kGHJXW0S2pdzKQa3dX1it/XcNxhHM5kPQcD8ejJy9wHW645Ffm0iry4eESRPjkxunOeKC5BV4ZB7UB2VDUuMAkgwmNcE4X9HY5kbP3mY6GljqmQkipxaExQAddbB6XhOTG5tvqbop7p77MPVAymNuJunuT6c/GtoGYnn9eBFWkp0KqVgSw4lc2K6h+D9KbUIjd0ii7HdlKO8whqJ5oy6m4jpcRAmbpeaJAF0mjjDjUqtKj6khD3ZHkrnWpdmGGz+gPJw4Qu72ISssgm+Oi0zY7Cz5jI8Vav76R2Pwnd21lwgLFploDYUS3nLNl9gtLLVl4JlVIm4WTN+Oy3zI68Ir87y9FhUKmzBjguTu92966fU0bhU0Ik3KGpY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8616.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(86362001)(31696002)(26005)(6506007)(2906002)(6512007)(6486002)(8936002)(508600001)(38100700002)(36756003)(5660300002)(4326008)(83380400001)(8676002)(66556008)(66476007)(66946007)(31686004)(316002)(186003)(6916009)(54906003)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?E7SYrlLppZWRCUTz5rsVuLJZM14G?= =?utf-8?q?sLEsz9uVwi01NFOlHtwGFWSFVk58LrHuMdNbdb2nroGNbwstXlTWOZwrAa9da/E07?= =?utf-8?q?JmgBhyhcCeWWOhfxGGE0akBhyfXDFCIzfXYzmr8iqKpxab5zx0nsL6Qawwj4Ry+ll?= =?utf-8?q?FWQnv551SyFE5JgFnjXUHhGfJgsXluGoofadQZxWdezCanJPeXVedoN/CgnCm8B45?= =?utf-8?q?/Kzx3lCZJNGjaLZETu9FhzD05Pyko7e1r9mfs2HC23wkdQNWU+rZgX0oUsUhqIqoK?= =?utf-8?q?WYf3bhcCtgOFu8oe1xyTpRhQYrCrvW0v7uZdaAbtqWMBy+LobG0W/z2kXcsx1YxBO?= =?utf-8?q?tU0RrtFehakvlPvAHAzwhW+iMTmr4qGomxlKosj+3CZruUrIpytgd4f06+iudbuo6?= =?utf-8?q?xGCxALriTea/JNGKxclHIsTPcGKDFUobHLa252JAZfEFyLddlSJTXa5Z2ou0Qe14Q?= =?utf-8?q?+VFg6wI43BMiP/Cn93dpCvJq3r0Dl0s+qDfqNlmN3U+E2SwB5KJfsMTalFaJoTfv3?= =?utf-8?q?X5H4KJ9R+rLv8I8vhTWYvaxuQHHAsd1wwn/FSIIOK8tDRjofz/GOM7QIe3Kzgd/C/?= =?utf-8?q?ucROh7u/AFTpxCuNVdDH9jZGPscT8M1rxvHA26K3wybUmEjXpQjjXq6qz29sgjKDB?= =?utf-8?q?lZoChWh0fIkuAZ0lJyB2R8RfWjVInlGsgSI2+CNaiR3sXKG56So4Lyl7gOJQUv1U8?= =?utf-8?q?SGC1esX3rVu29dIjIt369MwN/x4JRCzjeO9noAXY96OKDqhQUTR3n0rVUmBpIJ5kK?= =?utf-8?q?2szgnilkQwlnDkIN5yjL4ZVkAgDvAxD822eIpd56mswFZUmVFEkQF+jaPgUpX36HS?= =?utf-8?q?lGFmwxqK4r4g5GzlSWK6ojM8ASLgjkYhEAQQAM+rmb38fKwTQ+BaigHZUEwxq32oH?= =?utf-8?q?fTXQ6fWBZ/FT8elNUNMdYWNVmsiyC65eJjIL2Q0p4xIQMlDUm5KNViAmgHTi2vPVC?= =?utf-8?q?Azyl5nQbLJ9ajjhiNHG3JlGbLYhnnLH1COWrZpTSn2yRa6muRzbeOtH7tk7VT7Nkk?= =?utf-8?q?YDn6DUHr1x0nn8Vs+uGu7gm6I8Lo4mSI8ZH0nZEeIPJazw79gZXPLoEP28DYfqYv0?= =?utf-8?q?/Qj9nsiYL+nu6nH4hkOG7J9m3/UXDUHykSEh+F1U05NSWurLp8swH6PraL5yC0mc/?= =?utf-8?q?j+28UewaxVKFo6/nMuWMAUN8vUi2LSWwFFSYUBm3EPAJd4Z9GLMf55k/5t50IH6aC?= =?utf-8?q?J2Bbb7ap7/2hVfHfOlgR2REN/Oqw85+yGsdm5A0HU3GeeeClBJxoxfX756L37AaEc?= =?utf-8?q?yf4061H6IRayEU9uOv0dUqAVpyPv6TG1Nh38v+z9TmFDbqu13abD5qnS7iwqguXXI?= =?utf-8?q?RwhShRyuuLql1VCEKRg+7YeduB46Wxb4ReYZzRMGufyn7bF0Cw8fGmR7F2pSdtGbV?= =?utf-8?q?/xK3eMgD1WrGSjS3Joz2pxyriy1eCj0W7r97v/9w7fH+si390/e+Ay/NtDb4EbejU?= =?utf-8?q?5kxOl1vQM3HlFHhjRXuJiu97cXmzV7AU7Nk9ixjAo8dsJNNpPu+1LikF6NHu3IdZL?= =?utf-8?q?n/+ZnWMQDBtyu0xV7+KORO21MoqzUwAML8Gva+IYcy/Ouxp/camhe1TgD9/WbIARm?= =?utf-8?q?UFVccWQ+ExI/R2f1rNff5gFaFNIuxKe9QkaLagjrlKWgWxzVmgqw294SvxbC8N8pV?= =?utf-8?q?QMol/rNaUv7x1Fe2ByHgiOp9ZYNgzEFg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ee6d385-f352-44c9-ba5b-08da29e319ee X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8616.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2022 13:20:59.6674 (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: r0HJBganPe56/hvQqhWK0yf1D3F8x2LPY/GDmt//vJFUj/rcam1nC7iBvW8KkHtZ0qgpTmkN/eLyM799L4stlg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB5223 system_state changes to SYS_STATE_smp_boot before alternative_branches() is invoked, yet that function, with CET-SS enabled, needs to invoke modify_xen_mappings(). Convert to check for the number of online CPUs, just like was done also in 88a037e2cfe1 / fa6dc0879ffd ("page_alloc: assert IRQs are enabled in heap alloc/free", both instance of which needed reverting for other reasons). Fixes: 78e072bc3750 ("x86/mm: avoid inadvertently degrading a TLB flush to local only") Reported-by: Andrew Cooper Signed-off-by: Jan Beulich --- Only build-tested, as I don't have suitable hardware at hand. --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -5074,7 +5074,7 @@ l1_pgentry_t *virt_to_xen_l1e(unsigned l * map_pages_to_xen() can be called early in boot before any other * CPUs are online. Use flush_area_local() in this case. */ -#define flush_area(v,f) (system_state < SYS_STATE_smp_boot ? \ +#define flush_area(v,f) (num_online_cpus() <= 1 ? \ flush_area_local((const void *)v, f) : \ flush_area_all((const void *)v, f))