From patchwork Fri Oct 7 10:32:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mykyta Poturai X-Patchwork-Id: 13000967 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 BFDECC4167E for ; Fri, 7 Oct 2022 10:33:17 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.417680.662380 (Exim 4.92) (envelope-from ) id 1ogkf6-0004nz-JB; Fri, 07 Oct 2022 10:33:00 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 417680.662380; Fri, 07 Oct 2022 10:33:00 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ogkf6-0004ku-CB; Fri, 07 Oct 2022 10:33:00 +0000 Received: by outflank-mailman (input) for mailman id 417680; Fri, 07 Oct 2022 10:32:58 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ogkf4-0004PE-IC for xen-devel@lists.xenproject.org; Fri, 07 Oct 2022 10:32:58 +0000 Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 676f392e-462b-11ed-9377-c1cf23e5d27e; Fri, 07 Oct 2022 12:32:56 +0200 (CEST) Received: from pps.filterd (m0174678.ppops.net [127.0.0.1]) by mx0a-0039f301.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2978P171005817; Fri, 7 Oct 2022 10:32:51 GMT Received: from eur04-he1-obe.outbound.protection.outlook.com (mail-he1eur04lp2057.outbound.protection.outlook.com [104.47.13.57]) by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3k2a45sjk3-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 07 Oct 2022 10:32:51 +0000 Received: from VI1PR03MB3758.eurprd03.prod.outlook.com (2603:10a6:803:33::29) by AS8PR03MB7159.eurprd03.prod.outlook.com (2603:10a6:20b:2ea::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Fri, 7 Oct 2022 10:32:46 +0000 Received: from VI1PR03MB3758.eurprd03.prod.outlook.com ([fe80::77e8:5cf6:210:7273]) by VI1PR03MB3758.eurprd03.prod.outlook.com ([fe80::77e8:5cf6:210:7273%5]) with mapi id 15.20.5676.038; Fri, 7 Oct 2022 10:32:46 +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: 676f392e-462b-11ed-9377-c1cf23e5d27e ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SsOAfmerj3Y9pJgGOdn59yTsXDQowD0l0B1Ita4V5ZEH05KODP4jIiJFMStDcUgWpNvRwCbCTEjNcR1t1rb2U3eMwQPnwM80G2TBfQEAK858dgidRPBW0S9+J3XouDAbSB3ZscJm5gBdQ8b+VvYLcRAaGXdVL3lwauqgYEKeF1qkl68/LEolLOLA1eeL+s3Xa8hGgQCiZy03k2jnuvFTFYEYThWNBWMw0vjMDQ32zPD9A7sxkLKJ3KIhJfnC9uw4Sd6d2mACKbpBvj3Ztbq1EC1ox1Zr2KgPdTXssP9+bgsSCLMPIfg+2/9DXuKWn8sMC/p7M3bDbs3ikhG/lchjZw== 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=6h6SHmTRfcgXQ7Yu2AK+J4nbsyl3YwHrisUBV1UF7MI=; b=EJ6Au0w0nhzf/SCyDC305K6Nr4eopsch3XkTN/d6Ol5l9f39LnvkWy7JGH4c7eQd2mEtAXs54nOXdOXyVC0YvdSGvgeRgsA2uSbsr41o4pCBLCWoxLJQmf68ltCLR50/1Z15k6fYHoExqT8zUYT5lNamfDC3IAbmJTwShjqCJqnLUEsE57qM4qTXca+rLu2CAXWBDpJ+dW6JSGLdhbvwfj8ultdaPv3MSyXk0u6FAQ/6GXMPO8WQz9oEAtHXgwPB9iJ9x77qoQjQ6/I2Ig1zFgiH8Q1FIQ5BpPQKQrIfhK5bnU5l36XRsLlCl7ce9E9rWlMOIiC4AQD2r7kfDLf9zA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6h6SHmTRfcgXQ7Yu2AK+J4nbsyl3YwHrisUBV1UF7MI=; b=i8n68Dbm0ESA5OKzQpsBU2DrvBd+XQKb9gf1SxBxOZdPD+hXFW7jQR91/yAd7lajMEOeTJab5mY9gnaQbV0v3hLMrCsQxWCzAk58qn1smdc7y/9Ng6I+sr+m5l7wwWby9IbtIhj8PVd/VSAxy8Ai0lrxM60pBcVTOuuFsNCMI3bliST93s63WgxzV9HXTZwUKd/ddUZp1+f5jbUWrKM4+QP3bYEQIX37+IZrjYQUsYgksrrgA0Ig4EoSF01Aw/J/BYYPTs3u4jt672f89foZYX67VYhxgwi3LfP+y+lVf7XrnFIzeuzjSzp2rNOnRGAONjBL2/Da2HlsXYJ+22Q7gA== From: Mykyta Poturai To: "xen-devel@lists.xenproject.org" CC: Mirela Simonovic , Andrew Cooper , George Dunlap , Ian Jackson , Jan Beulich , Julien Grall , Stefano Stabellini , Wei Liu , Saeed Nowshadi Subject: [PATCH 05/19] xen/x86: Move freeze/thaw_domains into common files Thread-Topic: [PATCH 05/19] xen/x86: Move freeze/thaw_domains into common files Thread-Index: AQHY2jgjZkKcYQ550kmOPqD7DDutRA== Date: Fri, 7 Oct 2022 10:32:46 +0000 Message-ID: <931418d761e47eee7847e6bd559e02597cbab1b6.1665137247.git.mykyta_poturai@epam.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: VI1PR03MB3758:EE_|AS8PR03MB7159:EE_ x-ms-office365-filtering-correlation-id: ee9e3a02-776b-4781-b3a1-08daa84f46b9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7I6ddO/gjyRoDQtiB9YQdE3yZkiIq9cJM1snMsvyPyUNnLj5y5wZQvOBSOSz0Mhox2gm7M51lZOzCT7b72YU5oDR6nQnco6ypdLlHkjrgmgmEV3++WKVqvZvFuBxs0r+HgvouBWlj6/HB1EuUnCCAKSAYh90htDtdPvIjFX0TZDKnf+Gqvy4nZ2ZLYpQFe5wrH33uOldmMMbk2+bajoEz9+1e5LptvEqyWwG3x6cGymDnDvFT/7Qz4wtwSycKLLWqScA73vff7IZXd/EHklb5oB92M1kW+h1N3dJoBGJbkDjD9zHBw8j8bf3SHHvYO3ixYpSyoNgvgRSP8DmT4PzR+9PI9cYjd4SFD/OhLvNplJep6WLee80R0sEgKKNVPRXP19S8ywcbeAZeoUmnz4EGce4rduMpoDJqAWMDVmxoT1zMw1aYBNDrf1tSImuQYDSBXb6O08/OAf38rwZOyKzhRqRXO+zif2688LcXc1E/NpfYq9Phqwg1w3q98h8p6elp/M7CWoDSA1T1H4KwzhQstY+S1ENwz6WKpnEzaH5Rc4Q+UoXRpdw4cGEP4jfFYsDi3DEvh7gwuynaANyFefQ5s7KK3IcejrzqCeRBoI+xBxcdya6aTlGdGDSFfEFDB36bUZiPYH3P+a4OBQ7zOpEWkIoVa4xz8zuls5U+ifqXDL/5w3oy4IP+OhblVb3MJzLKzHHdtJmpGFzqdEL6YyTddzoNd/7epGVcsa57NlvMFeruERZB07PRezE16KvbgO1cHgBosj/mUyugRB6DZUWvA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR03MB3758.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(136003)(366004)(396003)(376002)(451199015)(2616005)(186003)(83380400001)(316002)(6916009)(2906002)(54906003)(86362001)(5660300002)(7416002)(8936002)(66446008)(41300700001)(66946007)(64756008)(76116006)(66556008)(91956017)(66476007)(8676002)(4326008)(71200400001)(478600001)(6486002)(6512007)(55236004)(6506007)(26005)(38100700002)(38070700005)(122000001)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?fMIiNPj5PFCgdwZH/6GURDe?= =?iso-8859-1?q?FZJWarGfhBM5hJVRX6g4Sa8e88Pmfbx3rvsjYs7sDCl0CDI6j27nDvCUTwHk?= =?iso-8859-1?q?dTwJRbRc/edk3g0Oazjq+M90d1OR1f1SkGElQM3XAt5P6XAbcoNtzqgPfLGd?= =?iso-8859-1?q?mGlElxN5mt8lzxxtZoaobR3ZNwKxCCY8U77YD2sbJYBRKwpdpn+nwWjf+xn+?= =?iso-8859-1?q?EIJWQWmldKkSSY9snS6shw9uRUFzUaSVapdhR40WOmSbTkxTLHG8flensjZm?= =?iso-8859-1?q?1I83vruVx6qGaXPevYFXpkAHSCItmHS1EHE2uyjJku1Te/UP5pVqDHUMFt1m?= =?iso-8859-1?q?kL+L64EJUUthG/535SmrYnq84m1nMCJFIUrBUmOyLLL4JONP75QThniVX4Ll?= =?iso-8859-1?q?1VHHT0S1oPkD3pabMHEdj0DPyYzhDijJVa8UDuO/Ff2cPNYqLEzQBpALJKS9?= =?iso-8859-1?q?qINls7bR4fP09r5u4FdU8RUNAVLoxY03mbqubcr+6B4pgC6qn96v1qjdMg9Z?= =?iso-8859-1?q?zFXMJTjS737ZUkJtU7ozRjG9Vb4sYCOndLCPpCk2Bn5lOL5xQjIgCr3GUnK0?= =?iso-8859-1?q?eaBDnpv2DiMuj4H6A2rbGj72TpmxZ7CI1i+ieuPph7y8DNuyFyCmN0Z4fz/7?= =?iso-8859-1?q?AtTuDEJDSG8sGwkYPrTJLTFNFj6dsd9JyTo9z0ziXsiRRjAPCt7pJU1K3kKM?= =?iso-8859-1?q?d7AV7L0TKF3aHoMpB+FF55XEJZaeVc++5YfvUgo4rsXfxjWuKKpYfJx6ZDcN?= =?iso-8859-1?q?hAYVxW0XTDYh7Fb4tcSXmcOP6sWwxB0/QdyxBUAQ99s6qKTwnMH42GQi5Lvk?= =?iso-8859-1?q?LjbhDjEsl8BnG5Hbxx8d+1irJ89CyOF0C8brhdTDnjQxwO4PalfLCKF+QJbA?= =?iso-8859-1?q?QOKF3MgFPz5wnd9KtnCOCz1dDzYtdLdWEcFAFT+x6wlsGEKP56w4xYr6XLKI?= =?iso-8859-1?q?TapnQY+dw2BbEXuDnA+13Ctumi+wAQUc1Nj68sZJDYj0c6OM2P/myarsm/Bs?= =?iso-8859-1?q?1ImdVktG9g1AgQYY4HsEHUFqbc05sPGi/JpPUsQ55IkL+cH+u2OHGzROu1Lj?= =?iso-8859-1?q?5c795OJcz8hAJxhfzXMBykis3BBe+/vEwpTsOpzTiuOWWVeWkf2fDDb79Llm?= =?iso-8859-1?q?a/DJT6y9uEltNhEBaPo9PxDrO2pAfg1rOOvTrxdrPnRN1CiiIusNEFX/7LDU?= =?iso-8859-1?q?jl8SbsNd7DHvTqXTLWWoB/tsvGFJKFEN0WCWc6egKP9mQFVVRpa7tK57v0q6?= =?iso-8859-1?q?mkB+Z+gCIIUIniW70lUzWaIk70sRqDO/lqdmQ1035dFlezyjUmp18FCcY2Qv?= =?iso-8859-1?q?/wvlEcFwFtpt+xuT7NQnwqLj7fFWtLJgYHEHFYzkHmD+PVeCR1GFxYCrWLY7?= =?iso-8859-1?q?1V05jm1tvsy9uHcFc97cb6OG1WTFOBU6BRnv8Ha4vw5DUfHPgl9gAfLlJMaO?= =?iso-8859-1?q?AYl3bv9wIYWWCPVNQlP0Abo67pRxfzQOcuHZ5xYyeNahdZFUZV6FgASUI0F7?= =?iso-8859-1?q?SHkXGCBg8HNclNVJxh6Ykyz3VyESn/Gl8O87VOwzE5630HxJObiFFX2vkIK5?= =?iso-8859-1?q?6TCK3Rm+E3VUWGey7xxIWeMHfLRLgrNhbww6HNfgh6k25BvGoo80QER0CWSx?= =?iso-8859-1?q?DCuisK3A6UlyGMWQVJXCX+hUfadsTaYWHPoFDoQ=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB3758.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee9e3a02-776b-4781-b3a1-08daa84f46b9 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2022 10:32:46.4117 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2lWP/oei1ghoYb36UEvrsNMdYzHRlzgt68FViXGwOjaYu6h2+y0L0Pmjd8yqI17Wyc2aoN3CZoHfpE3pKLoNhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7159 X-Proofpoint-GUID: 1X5iEoW9QqqBZwh0CemHWffGAEpZwUOW X-Proofpoint-ORIG-GUID: 1X5iEoW9QqqBZwh0CemHWffGAEpZwUOW X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-10-06_05,2022-10-07_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 mlxscore=0 priorityscore=1501 adultscore=0 mlxlogscore=898 impostorscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210070064 From: Mirela Simonovic These functions will be reused by suspend/resume support for ARM. Signed-off-by: Mirela Simonovic Signed-off-by: Saeed Nowshadi --- xen/common/domain.c | 29 +++++++++++++++++++++++++++++ xen/include/xen/sched.h | 3 +++ 2 files changed, 32 insertions(+) diff --git a/xen/common/domain.c b/xen/common/domain.c index 56d47dd664..5e5894c468 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -1884,6 +1884,35 @@ int continue_hypercall_on_cpu( return 0; } + +void freeze_domains(void) +{ + struct domain *d; + + rcu_read_lock(&domlist_read_lock); + /* + * Note that we iterate in order of domain-id. Hence we will pause dom0 + * first which is required for correctness (as only dom0 can add domains to + * the domain list). Otherwise we could miss concurrently-created domains. + */ + for_each_domain ( d ) + domain_pause(d); + rcu_read_unlock(&domlist_read_lock); +} + +void thaw_domains(void) +{ + struct domain *d; + + rcu_read_lock(&domlist_read_lock); + for_each_domain ( d ) + { + restore_vcpu_affinity(d); + domain_unpause(d); + } + rcu_read_unlock(&domlist_read_lock); +} + /* * Local variables: * mode: C diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h index 00a939aa01..c8ddfdd51c 100644 --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -978,6 +978,9 @@ static inline struct vcpu *domain_vcpu(const struct domain *d, return vcpu_id >= d->max_vcpus ? NULL : d->vcpu[idx]; } +void freeze_domains(void); +void thaw_domains(void); + void cpu_init(void); /*