From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627104; cv=pass; d=zohomail.com; s=zohoarc; b=cXHaaYB316sfn0Ykm1Oo4TGvy781zEAskwiwMU81MQjXtgxHJRKr741XA7Zby200aFt3/qdNYqRrt3fvtyaaSgvmHNjtSB6N1hYlKDzW7sYZUPUyNzy5lKEOGEmDpmP22Kq+b4a/7/4zZwUQXmrP5LBXL8vdhJ5WNzSrWTOPDaQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627104; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=WeQBwOgFXz1U60UH22PesVSYD2OW+F4k/D3F8uvruuE=; b=idBqmb4CftGPB1MdUBYZ/lX1Wr31IcgSU89hnXZc7irz+GS25LtpIug91vea0qosxzlgTjagqkwWjdCduEvPUe+mHxgtQdysePGqXSSPe85votshsoJ89Ww8NkFgs16WRdRmwAJHyzIzVtYdgmGeHKnzpfLxyiMGKHMCCy191zA= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624627104571853.7130041072307; Fri, 25 Jun 2021 06:18:24 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147182.271119 (Exim 4.92) (envelope-from ) id 1lwlii-00070i-MN; Fri, 25 Jun 2021 13:18:08 +0000 Received: by outflank-mailman (output) from mailman id 147182.271119; Fri, 25 Jun 2021 13:18:08 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlii-00070b-JB; Fri, 25 Jun 2021 13:18:08 +0000 Received: by outflank-mailman (input) for mailman id 147182; Fri, 25 Jun 2021 13:18:07 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlih-00070V-PT for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:18:07 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 69681104-e8f7-4c5d-b555-e3c8c279dfcd; Fri, 25 Jun 2021 13:18:06 +0000 (UTC) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-37-KqQchVhzMAOVMuuGLRSrHg-2; Fri, 25 Jun 2021 15:18:03 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB4384.eurprd04.prod.outlook.com (2603:10a6:803:6f::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19; Fri, 25 Jun 2021 13:18:01 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:18:01 +0000 Received: from [10.156.60.236] (37.24.206.209) by FR2P281CA0032.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:14::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.8 via Frontend Transport; Fri, 25 Jun 2021 13:18:00 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 69681104-e8f7-4c5d-b555-e3c8c279dfcd DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627085; 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: in-reply-to:in-reply-to:references:references; bh=WeQBwOgFXz1U60UH22PesVSYD2OW+F4k/D3F8uvruuE=; b=eg5wtkpQPFBx06fcBrkFJ01lF04gvcDZoaUs9wYLfgNroC4ru8jFeRSCsKJCjGR74jwigN YpHMW5Ny0kiad9vV3eIo6tONH8padz/c5S0Lk/nojkH8MZNK7+ftxWlxRTYqPoU2ZHXO/O WyfZ2uxa5SvaC54VWbUpTzSYiII8Sss= X-MC-Unique: KqQchVhzMAOVMuuGLRSrHg-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dseunScbm2NtiRmMFfxv7+JtHsjbkdtXWGzJ0kBVUZa8HdcrkuV9cS3MvJpdqoMXQ7FKcZvd2roi9Kvfam8gnhsigbjvY3Exc3MzxRXYsBAHK3QSVbt5JaqFTIgIIQofiBTvTOjh3z+xmgHSB3/2h9qFvjiFzHS+9v7pcgtmUiIOf5dG6HsAV11PwZ1Ta7twR23LleaabRMymirVbRFBkEnp+ZUgi68UI9O6AWZafmrM8TmpmJG+YZTM+ijipAeeTM4DhOw3Yoc4SoA5CfxKvnoXtlKbCQquEgoSKKXuhq4EWMXjn5CRfZ/KWXb0MVXzbfSK3FafQVIhwhCy5i2Z6Q== 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=WeQBwOgFXz1U60UH22PesVSYD2OW+F4k/D3F8uvruuE=; b=D79moY8/s1aYZe0Ko9ixZb0D36RXv+ExIhaiyTbz0AYy2GbuGRQ5a3IegVRr/0T51TiPpiPl/Ddo6C0dHdfTbntBzxCGx0h2dYa8FbHmEZ+Cv3ZJsqoCMHToJlvJjcSXu+68YF4Xj1QDK+vk+XkZODsg6qTQBoTn7nrgynJlXVH453GIXUZ4ciwr1izeFgViSUJUPP2TKBJuYByyeOhydT+LqKWQeab3m6Wqo9Aj//Tdgk00JL6MKMJZgYSgC2gFqTwM7dvyCZlIL99JKFbFd2OlCZTsGbzV3X8/Zvi6JdvCOwPevfXVCmvAmKgBv7/i+g4wk3XVokTFqNv716Ggyg== 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: recoil.org; dkim=none (message not signed) header.d=none;recoil.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 01/12] libxc: split xc_logdirty_control() from xc_shadow_control() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Juergen Gross , George Dunlap , Ian Jackson , Marek Marczykowski , Christian Lindig , David Scott References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: Date: Fri, 25 Jun 2021 15:17:58 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: FR2P281CA0032.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:14::19) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e92da259-073f-45a1-d9b7-08d937dba846 X-MS-TrafficTypeDiagnostic: VI1PR04MB4384: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:534; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: It0xrBrFKURpFyrZyygOFZ2nDK2PLUEiY1ql+UpoXtcXZDpSaCuakctF3scLM0XaP9NZDZ0+U2pw4zwsjHQbIc5A1no+/OgZlgcRVWUnWHgORbrODSfvx/e58cGESLhpheA1LDJ83Cegbu+RDuK/uAxK+pe2DqXdRCv+uUe0DGd0k1XfsTDNRHFwaFBD53w6dPAwDcgoiApw/VlUlb8MfcDAVIMYS+HXk0fN47VOqyoHSjDWh5UUe12DjWj9T/zbnBfYmmk7cjYEc4bIaign6Lkd/prxVNLdsS8k1cXLbw7h8M204Dipy9cpT0ac4j3rnjfdOzhEuJyAljAl63EB87LIO5Clv4lmWKI66R5qu7ky8uHBUOp6IItcx8/XpitjbbSJBh0HwCmsU3/67SYeOjGZfhqB5KmJn/Nf3sBqkE+7w1GDBPeR6MqwVsFrUrLHI+R1JFTgUJDyXI3U2LgFErJTDFFbatWk9cdWM6+BPtDhd3NbtdwUMGzlS5Ja1bdEoR0Q5Xn/NeHc8dHb5Ot5CuHsjNkvaChJxUYlwgZazNjvpCeWRWrgbw5goDuC3WzAZnZnwYeajeVfOltuKVi7Viq1xw3r/smga9AtUwf+7wqlFWSt78FywTXsHED05A00e6C3pGKcO9eLv6PfnC6d1qcwcYkLrlEIcDvsUOCTFetSsmPTBmxOltuSjb5R8zdP X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39850400004)(396003)(346002)(376002)(136003)(366004)(54906003)(83380400001)(316002)(16576012)(2616005)(956004)(186003)(6916009)(26005)(8676002)(66556008)(66946007)(4326008)(16526019)(66476007)(8936002)(478600001)(5660300002)(6486002)(36756003)(38100700002)(2906002)(86362001)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z1Y3ZnJ0eUtJNllqL3dpVWNndHNjbDBOejRjTkc5c3RPallPT0t0WG1WMWYz?= =?utf-8?B?MHB4eFUrTkswa1UwcmFVL0FnT082U3dsUG12Mm1FSndhWkNOU1c3Ymw0NnR3?= =?utf-8?B?cDlGMkw3bmh2R0YrcjRxR29hUHI4bUJKNDFIRC9iRTNPczZpa3h6TXlGYXRY?= =?utf-8?B?cWc2SGhNT29GWjAxZ2kvek83YUxqOGM3VXRlSnlCT1VGQTNIeHY0MS85ODdC?= =?utf-8?B?VjVDUktPc1FsY05EMmc3UUVSa1lSZHNsM2dYeUFHNDhTaEgzaXFEemk5VzFO?= =?utf-8?B?djVxRVgyYXEvbjNUTk9FMGt3VnVOVGxBSFBGVm5IUUh6OGVOaHp3RTk4NGVR?= =?utf-8?B?dG5heWpaWkpySGV4V3hMWHllRldSaHo5VU4zZ0lKVVBQdXFwK2VTcGJra05w?= =?utf-8?B?WEJOZkhON3dRczM3cm5ZTjVZbUpiRjBuUXRBdi91LzU4L0NoZXF6ZE5KRnE5?= =?utf-8?B?QXQxTTVBNUtWNDF3Zlo3ZnpQNEwyMmFpRXN4QTRKN1dFczViZU5RNUYzKzND?= =?utf-8?B?WlhDN00yYzdSM2FPdjF1ay9mVjR1alQzNFY3MjdsVFJGZDRqenVmbmVIb2Fi?= =?utf-8?B?Z2w4TnM0OGRDQ3FGOVhiN2RQcTQ2aThBR0ZCT0JwYVFlOTVEQTE3bElrQTdF?= =?utf-8?B?NnJmaWhveEJMdVBiREUxQytnbEc0SlF1QjVYWHp1TU9RekhHdG9lU1NuemVZ?= =?utf-8?B?QmU3MkxveDc1NzJyeHhpWStWK1d5UWZpUnlCQnptNUg2L25SeGtEY3JXQjRN?= =?utf-8?B?WEdIMjJlYmhxazFnQ2RIVE8yaStxSjRFc2lBYzJqRHQrNkpSSmQwNnB2djR5?= =?utf-8?B?d0JUcU5zaXV1cWNiZ0VNTXBkMlVjTmJKb1ovVWJQd0VuNzJ0R0J2TEVTUS9r?= =?utf-8?B?ak4yYkhEUXUzTURRRThrRFc3SDF2NFRERkZLMklNQXFUSURRMzRjcXcwbzNI?= =?utf-8?B?S0dKTGNDWFJUMDJPUy9aYnhqVlhwQXA4TzZpOFpDYVduWmZKTmpHZVo2QmV6?= =?utf-8?B?QXArSldiaithc0hvVGloSXc0MDhtVWlJMVBzZGc5cXJET2R3eWxwS3RUdWpE?= =?utf-8?B?MWwwNm9ydVlLMFpVb2NOWWI4VFl6WWYxMjFkS1orQW50d0JUZjRRK3FxQ2tv?= =?utf-8?B?S2MvWTJ1Q3hsUW9oWFBVSWtJQldnRzFnWWhQN3dVdlJKTWFFWkNDazcxL1c4?= =?utf-8?B?NHNUWGpTMTVMN05IZDZFOXB4eWNrL05RR3dHakJSN2I3dlFOV0Y2eHVBQTRl?= =?utf-8?B?MGxBQnVDTWZtME5mVDFiOHZkZThqY0ZCY3Ewc1NYeGV0cjdMYmUxYmxOSnNl?= =?utf-8?B?a3dnRW0vUkh2NVZPVS9IZ1A5QkczSHFHb1ZBcnl2anhobTRGZ3daa1JiWnNO?= =?utf-8?B?RktWTFlFTzI5MHZIUEpjdlorVGpWUDFrNndTcXc4Nkh0RkpuaVJ3Tlkyb2l4?= =?utf-8?B?QjI1ZjEweW9oZnRnRS81OG5Ic0ZBNmJyaEdKK0ZaenVHU2ZoMWg0YUhxRXFH?= =?utf-8?B?eVd1cXJqQnRWRmlncVJYM01qTHM3RDNOUVpPTXdGN0YvN3V5U1ZuU2lIWTdy?= =?utf-8?B?cDl5M1pwbnV5NjdaVHFTQWN5Wmd4OHcyT1hnRkpyRWY0WDFBa1psNytBenBy?= =?utf-8?B?YURXN1MyalE5NlA4cjhEdWI2aHNReGMyM3dhTlJMQkhGRklHR2hzdDNlT21t?= =?utf-8?B?bW84QVJHdGhIMFNpUURFWm96UXliRERwL1U0UlhHS0d6Sm0vU2RtK3hjY0Rm?= =?utf-8?Q?mWRSBhPeMcjvzvzH8DOV98BAjRQYtmyScclWGRw?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e92da259-073f-45a1-d9b7-08d937dba846 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:18:01.1716 (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: LAqQKHfSf7xa/wgithWnWfYS/uMF8U/kxZMYnGIdD0mUoEjVz1QdxEsHY2TnGhC6qWzrGqDw08GhIuZ7nkVNoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4384 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" For log-dirty operations a 64-bit field is being truncated to become an "int" return value. Seeing the large number of arguments the present function takes, reduce its set of parameters to that needed for all operations not involving the log-dirty bitmap, while introducing a new wrapper for the log-dirty bitmap operations. This new function in turn doesn't need an "mb" parameter, but has a 64-bit return type. (Using the return value in favor of a pointer-type parameter is left as is, to disturb callers as little as possible.) While altering xc_shadow_control() anyway, also adjust the types of the last two of the remaining parameters. Signed-off-by: Jan Beulich Acked-by: Christian Lindig > --- I wonder whether we shouldn't take the opportunity and also rename xc_shadow_control() to, say, xc_paging_control(), matching the layer above the HAP/shadow distinction in the hypervisor. --- a/tools/include/xenctrl.h +++ b/tools/include/xenctrl.h @@ -885,11 +885,15 @@ typedef struct xen_domctl_shadow_op_stat int xc_shadow_control(xc_interface *xch, uint32_t domid, unsigned int sop, - xc_hypercall_buffer_t *dirty_bitmap, - unsigned long pages, - unsigned long *mb, - uint32_t mode, - xc_shadow_op_stats_t *stats); + unsigned int *mb, + unsigned int mode); +long long xc_logdirty_control(xc_interface *xch, + uint32_t domid, + unsigned int sop, + xc_hypercall_buffer_t *dirty_bitmap, + unsigned long pages, + unsigned int mode, + xc_shadow_op_stats_t *stats); =20 int xc_sched_credit_domain_set(xc_interface *xch, uint32_t domid, --- a/tools/libs/ctrl/xc_domain.c +++ b/tools/libs/ctrl/xc_domain.c @@ -650,25 +650,48 @@ int xc_watchdog(xc_interface *xch, int xc_shadow_control(xc_interface *xch, uint32_t domid, unsigned int sop, - xc_hypercall_buffer_t *dirty_bitmap, - unsigned long pages, - unsigned long *mb, - uint32_t mode, - xc_shadow_op_stats_t *stats) + unsigned int *mb, + unsigned int mode) { int rc; DECLARE_DOMCTL; - DECLARE_HYPERCALL_BUFFER_ARGUMENT(dirty_bitmap); =20 memset(&domctl, 0, sizeof(domctl)); =20 domctl.cmd =3D XEN_DOMCTL_shadow_op; domctl.domain =3D domid; domctl.u.shadow_op.op =3D sop; - domctl.u.shadow_op.pages =3D pages; domctl.u.shadow_op.mb =3D mb ? *mb : 0; domctl.u.shadow_op.mode =3D mode; - if (dirty_bitmap !=3D NULL) + + rc =3D do_domctl(xch, &domctl); + + if ( mb ) + *mb =3D domctl.u.shadow_op.mb; + + return rc; +} + +long long xc_logdirty_control(xc_interface *xch, + uint32_t domid, + unsigned int sop, + xc_hypercall_buffer_t *dirty_bitmap, + unsigned long pages, + unsigned int mode, + xc_shadow_op_stats_t *stats) +{ + int rc; + DECLARE_DOMCTL; + DECLARE_HYPERCALL_BUFFER_ARGUMENT(dirty_bitmap); + + memset(&domctl, 0, sizeof(domctl)); + + domctl.cmd =3D XEN_DOMCTL_shadow_op; + domctl.domain =3D domid; + domctl.u.shadow_op.op =3D sop; + domctl.u.shadow_op.pages =3D pages; + domctl.u.shadow_op.mode =3D mode; + if ( dirty_bitmap ) set_xen_guest_handle(domctl.u.shadow_op.dirty_bitmap, dirty_bitmap); =20 @@ -678,9 +701,6 @@ int xc_shadow_control(xc_interface *xch, memcpy(stats, &domctl.u.shadow_op.stats, sizeof(xc_shadow_op_stats_t)); =20 - if ( mb )=20 - *mb =3D domctl.u.shadow_op.mb; - return (rc =3D=3D 0) ? domctl.u.shadow_op.pages : rc; } =20 --- a/tools/libs/guest/xg_sr_restore.c +++ b/tools/libs/guest/xg_sr_restore.c @@ -459,10 +459,10 @@ static int send_checkpoint_dirty_pfn_lis DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, &ctx->restore.dirty_bitmap_hbuf); =20 - if ( xc_shadow_control( + if ( xc_logdirty_control( xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_CLEAN, HYPERCALL_BUFFER(dirty_bitmap), ctx->restore.p2m_size, - NULL, 0, &stats) !=3D ctx->restore.p2m_size ) + 0, &stats) !=3D ctx->restore.p2m_size ) { PERROR("Failed to retrieve logdirty bitmap"); goto err; --- a/tools/libs/guest/xg_sr_save.c +++ b/tools/libs/guest/xg_sr_save.c @@ -428,18 +428,18 @@ static int enable_logdirty(struct xc_sr_ /* This juggling is required if logdirty is enabled for VRAM tracking.= */ rc =3D xc_shadow_control(xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_ENABLE_LOGDIRTY, - NULL, 0, NULL, 0, NULL); + NULL, 0); if ( rc < 0 ) { on1 =3D errno; rc =3D xc_shadow_control(xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_OFF, - NULL, 0, NULL, 0, NULL); + NULL, 0); if ( rc < 0 ) off =3D errno; else { rc =3D xc_shadow_control(xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_ENABLE_LOGDIRTY, - NULL, 0, NULL, 0, NULL); + NULL, 0); if ( rc < 0 ) on2 =3D errno; } @@ -556,10 +556,10 @@ static int send_memory_live(struct xc_sr if ( policy_decision !=3D XGS_POLICY_CONTINUE_PRECOPY ) break; =20 - if ( xc_shadow_control( + if ( xc_logdirty_control( xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_CLEAN, &ctx->save.dirty_bitmap_hbuf, ctx->save.p2m_size, - NULL, 0, &stats) !=3D ctx->save.p2m_size ) + 0, &stats) !=3D ctx->save.p2m_size ) { PERROR("Failed to retrieve logdirty bitmap"); rc =3D -1; @@ -653,10 +653,10 @@ static int suspend_and_send_dirty(struct if ( rc ) goto out; =20 - if ( xc_shadow_control( + if ( xc_logdirty_control( xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_CLEAN, HYPERCALL_BUFFER(dirty_bitmap), ctx->save.p2m_size, - NULL, XEN_DOMCTL_SHADOW_LOGDIRTY_FINAL, &stats) !=3D + XEN_DOMCTL_SHADOW_LOGDIRTY_FINAL, &stats) !=3D ctx->save.p2m_size ) { PERROR("Failed to retrieve logdirty bitmap"); @@ -716,10 +716,10 @@ static int verify_frames(struct xc_sr_co if ( rc ) goto out; =20 - if ( xc_shadow_control( + if ( xc_logdirty_control( xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_PEEK, &ctx->save.dirty_bitmap_hbuf, ctx->save.p2m_size, - NULL, 0, &stats) !=3D ctx->save.p2m_size ) + 0, &stats) !=3D ctx->save.p2m_size ) { PERROR("Failed to retrieve logdirty bitmap"); rc =3D -1; @@ -834,7 +834,7 @@ static void cleanup(struct xc_sr_context =20 =20 xc_shadow_control(xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_OFF, - NULL, 0, NULL, 0, NULL); + NULL, 0); =20 if ( ctx->save.ops.cleanup(ctx) ) PERROR("Failed to clean up"); --- a/tools/libs/light/libxl_colo_restore.c +++ b/tools/libs/light/libxl_colo_restore.c @@ -62,7 +62,7 @@ static void colo_enable_logdirty(libxl__ /* we need to know which pages are dirty to restore the guest */ if (xc_shadow_control(CTX->xch, domid, XEN_DOMCTL_SHADOW_OP_ENABLE_LOGDIRTY, - NULL, 0, NULL, 0, NULL) < 0) { + NULL, 0) < 0) { LOGD(ERROR, domid, "cannot enable secondary vm's logdirty"); lds->callback(egc, lds, ERROR_FAIL); return; @@ -90,7 +90,7 @@ static void colo_disable_logdirty(libxl_ =20 /* we need to know which pages are dirty to restore the guest */ if (xc_shadow_control(CTX->xch, domid, XEN_DOMCTL_SHADOW_OP_OFF, - NULL, 0, NULL, 0, NULL) < 0) + NULL, 0) < 0) LOGD(WARN, domid, "cannot disable secondary vm's logdirty"); =20 if (crs->hvm) { --- a/tools/libs/light/libxl_x86.c +++ b/tools/libs/light/libxl_x86.c @@ -529,10 +529,10 @@ int libxl__arch_domain_create(libxl__gc xc_domain_set_time_offset(ctx->xch, domid, rtc_timeoffset); =20 if (d_config->b_info.type !=3D LIBXL_DOMAIN_TYPE_PV) { - unsigned long shadow =3D DIV_ROUNDUP(d_config->b_info.shadow_memkb, - 1024); + unsigned int shadow =3D DIV_ROUNDUP(d_config->b_info.shadow_memkb, + 1024); xc_shadow_control(ctx->xch, domid, XEN_DOMCTL_SHADOW_OP_SET_ALLOCA= TION, - NULL, 0, &shadow, 0, NULL); + &shadow, 0); } =20 if (d_config->c_info.type =3D=3D LIBXL_DOMAIN_TYPE_PV && --- a/tools/ocaml/libs/xc/xenctrl_stubs.c +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c @@ -997,13 +997,13 @@ CAMLprim value stub_shadow_allocation_ge { CAMLparam2(xch, domid); CAMLlocal1(mb); - unsigned long c_mb; + unsigned int c_mb; int ret; =20 caml_enter_blocking_section(); ret =3D xc_shadow_control(_H(xch), _D(domid), XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION, - NULL, 0, &c_mb, 0, NULL); + &c_mb, 0); caml_leave_blocking_section(); if (ret !=3D 0) failwith_xc(_H(xch)); @@ -1016,14 +1016,14 @@ CAMLprim value stub_shadow_allocation_se value mb) { CAMLparam3(xch, domid, mb); - unsigned long c_mb; + unsigned int c_mb; int ret; =20 c_mb =3D Int_val(mb); caml_enter_blocking_section(); ret =3D xc_shadow_control(_H(xch), _D(domid), XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION, - NULL, 0, &c_mb, 0, NULL); + &c_mb, 0); caml_leave_blocking_section(); if (ret !=3D 0) failwith_xc(_H(xch)); --- a/tools/python/xen/lowlevel/xc/xc.c +++ b/tools/python/xen/lowlevel/xc/xc.c @@ -1192,8 +1192,7 @@ static PyObject *pyxc_shadow_control(PyO &dom, &op) ) return NULL; =20 - if ( xc_shadow_control(xc->xc_handle, dom, op, NULL, 0, NULL, 0, NULL)=20 - < 0 ) + if ( xc_shadow_control(xc->xc_handle, dom, op, NULL, 0) < 0 ) return pyxc_error_to_exception(xc->xc_handle); =20 Py_INCREF(zero); @@ -1208,7 +1207,7 @@ static PyObject *pyxc_shadow_mem_control int op; uint32_t dom; int mbarg =3D -1; - unsigned long mb; + unsigned int mb; =20 static char *kwd_list[] =3D { "dom", "mb", NULL }; =20 @@ -1223,7 +1222,7 @@ static PyObject *pyxc_shadow_mem_control mb =3D mbarg; op =3D XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION; } - if ( xc_shadow_control(xc->xc_handle, dom, op, NULL, 0, &mb, 0, NULL) = < 0 ) + if ( xc_shadow_control(xc->xc_handle, dom, op, &mb, 0) < 0 ) return pyxc_error_to_exception(xc->xc_handle); =20 mbarg =3D mb; From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627134; cv=pass; d=zohomail.com; s=zohoarc; b=WBvNSRsHsGFMDp1GgyczaDHvaybmarXPj7InD+c708k8M/I6vePHErUZSt1Ff+Wt4b7TAR9iFEW1Yuc25c9eO0Xjou30eGbY6NKmCwlTKSKTaakJBpnqRXg2xSqpzPniOtvRU9HZxcX2H+d2Pp0GIorR7rDQt8WVgyEL7QJ7a0Y= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627134; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=rgEdhafpz8BW5gWdiXksunqCC0nVZhZBo0PaP6yDugg=; b=OqHm1GYIikp2rJUYqGq4hm2rG5OeXKYWFCaNVy7mxUQz2QwzB8SOurJnIm46pIs0BPls+1howF43CmQO6sWjh61t+nq6MzpenuSdJK+qirA7+X8ftO+QwMbOKwXDd7y82zP2kWLzqruY0EigZd1XDo9GnyU+N23Le4GGlX2UZLs= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624627134011898.6672626873951; Fri, 25 Jun 2021 06:18:54 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147186.271129 (Exim 4.92) (envelope-from ) id 1lwljE-0007Y0-Vj; Fri, 25 Jun 2021 13:18:40 +0000 Received: by outflank-mailman (output) from mailman id 147186.271129; Fri, 25 Jun 2021 13:18:40 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwljE-0007Xt-Si; Fri, 25 Jun 2021 13:18:40 +0000 Received: by outflank-mailman (input) for mailman id 147186; Fri, 25 Jun 2021 13:18:39 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwljD-0007Xj-Fs for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:18:39 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id ef223325-bd1c-4857-99a5-a9f0a587314d; Fri, 25 Jun 2021 13:18:38 +0000 (UTC) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2112.outbound.protection.outlook.com [104.47.17.112]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-27-xuX8TIB7PU6wSEGD5cTtIQ-1; Fri, 25 Jun 2021 15:18:36 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB4384.eurprd04.prod.outlook.com (2603:10a6:803:6f::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19; Fri, 25 Jun 2021 13:18:34 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:18:34 +0000 Received: from [10.156.60.236] (37.24.206.209) by FR2P281CA0035.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:14::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.8 via Frontend Transport; Fri, 25 Jun 2021 13:18:33 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: ef223325-bd1c-4857-99a5-a9f0a587314d DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627117; 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: in-reply-to:in-reply-to:references:references; bh=rgEdhafpz8BW5gWdiXksunqCC0nVZhZBo0PaP6yDugg=; b=TeWlYzzqSGKV+9bnTHjldDvpHVTpR2OvfSSGpSSnlqh1G4vv7Jh2tGwm5SsHUaDwXKg/PB Lu5JbMBoPzajp9DSDp/sQz6uatVgn6l2UXEHYIuboFC61txJAzO+9xU+m84fMJhP9eZcuf vu+hbeEkgQwLDkpKLkEBfWBNUidLs7g= X-MC-Unique: xuX8TIB7PU6wSEGD5cTtIQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dky+8mgM99Sq/rpaXeUbtHhTizAalE/7p09a5fM/p5T1xZaeuBaXpi0m+WvIbU5q8s3HuDf+VFdOY93CMZPfPeafr12ZVw6QUo9LxpPVImwZvFFX0KADtRd88KNo/QuJKN2TNh5Ay11KuCy8xiRpN6HglZDyXRdfBDe/xMyDg8vHXDmJy1XJ7bXoOfXY1MLYA43Fj2Sh6vbkQjzsOzRn/+mPELj5S2NhydoQ3pU9iHXOVgsyBR/eBx+8taYucA1lWPZ1hJRjPULWqVMSt3ayzLRQIwATHiegJwkCymvB9WMqT07Wa4e2HPoUTt8odrTrgNPJkjsdq3ERoxmf5uC9aQ== 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=rgEdhafpz8BW5gWdiXksunqCC0nVZhZBo0PaP6yDugg=; b=D2BHOFzM5L5M8RbUGpkcrKRX3gqDEIRX4VBGa0gv9tMqSW5hgfpL3y6hda5tPdqLCQAoVmYY6K37m5iGAy4ZBXnkqv4l9FPcQmZFTICl+0fKfcQfaBrDWx+eB4QPWPtr5Eav/J6rECqN99hg3bM+C6kuEPhG3LAsQ2avbRpHxWXT8dYDmYJNxtPlqDFYHa51tFx/fspHVwlQA8AL59p3pG9N6qdK1bD0CXAt/v0aofLpjPTx7+EZPksIGhX7qY9+14nRUfic29jfn5cl5TD6+C2d28m5OmEQ4uHbk/grxhhl2JQAOV1zf5yIhM4xLL5VQ6BxdSU58vJNfHrS4KvDOg== 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: xenproject.org; dkim=none (message not signed) header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 02/12] libxenguest: deal with log-dirty op stats overflow From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Juergen Gross , George Dunlap , Ian Jackson References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: <46831816-a5f2-2eb4-bb91-aba345448feb@suse.com> Date: Fri, 25 Jun 2021 15:18:32 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: FR2P281CA0035.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:14::22) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bf8d2562-1189-4f96-cd43-08d937dbbc19 X-MS-TrafficTypeDiagnostic: VI1PR04MB4384: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VvU1rfxwoEtl13yhhM8NNYF3EpcBoxUjiur2xo3b/lWEeINTTbPIunfda0uSdfnvrgfMxzG1wR5Bltl6lImX9FzzHd7l5fOiNkYUN6N20tNiqmc8kL1q2zfmrgxiV63Ac9Cl9fmsFtm3WnI/kTJl72VKkk07dZkGytP2s2OKP2rJMKNxdIDY8YjCfrM8H7JJEHEBE3vfpOBNS3751MdDXj2h8Mz0j5Bl0NTmVcf9xdcQ+9EBx6NI/A45uOsDovsoE3+kmurn02YXwBbfHcmp21MBLodLnaU1wbF47lnxG3qVsYQfnS1zHLis1s9rc+A2RwOHgO0+4GQvWehRQQ8iNNuZPqNX5aNFJQcbtcapPrhoUq4KsBLnRnVgTrpnrkUWDzp4FVBWUYwuDhFFBBmI+oT2o79sfRtqo8iUNvjgoHpbIL3D4MezLBbJ56AvlAabJKur2OccHDefk9EUjdUcI0ie2nLdiZzduP8x0QtUMiTIjwMcMeoOnkYZryDDyjUgeMtQuRgR2Pq5ynZkDCQ/EVPUKAcoqGw70DpyYunj/VOpC89oX3t+wKv/ITbxwRKuXbvdQHnYfWS8T3AWG+zYGucaJFxoj+keg7Pou7/agTOMpQ5kuFXBxVc//7fggHmlprrKfGFjyu1xbISUsKhnE5fxMNZ9OOWDXXGxgvQMQmpG/iI/MbNtm9YQNvneFm5QpULVVtKwp+Lo231s4ImGsg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(396003)(346002)(376002)(136003)(366004)(54906003)(83380400001)(316002)(16576012)(2616005)(956004)(186003)(6916009)(26005)(8676002)(66556008)(66946007)(4326008)(16526019)(66476007)(8936002)(478600001)(5660300002)(6486002)(36756003)(38100700002)(2906002)(86362001)(31696002)(31686004)(14143004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OEFaRnNuWjVXMlFXK1dzcGVOMy95THJXaHVZajRBQm5zK3BKbFg1WktoYWpL?= =?utf-8?B?SGVESFhCa1Y2alJRUzB5TU01amZwWVdseUFTeTRCRWNCUkI2N0YzWnNXYWNT?= =?utf-8?B?cFZkTWFrVHRYeUZFNTdGN2g2QnRuVjlyWExhL052b0hMRkN5YnQrMjR6RVFh?= =?utf-8?B?RGE4QXB3REtmRDBwQ01ndDMyUjhtcHkyazZPVXRUTGVMVmZ6MlpLaE9uU1Iw?= =?utf-8?B?bXFsQlVIZFNkOFBid003VlNIdUV6MmY4RmpaMTc3dGdLTHE3RlZBdHJaaURo?= =?utf-8?B?WEZ2WTdTRGZ3WVlGeTVmb1ZsYUY3WlNjZ2J0Qkc0WHBNWWl4czk0Q241aUJ0?= =?utf-8?B?d0hlbXhTL0Rmb1dwM3cxMG9MQjF2dDdUYXF1bkZjRmZZRG1xWWlpa1lvcXpY?= =?utf-8?B?bXcxaHp3NCtYUUhDOGlMMWhvQy9SQ1NSaWtmVHRYclczekRBVjFOeDZFdEs3?= =?utf-8?B?aUdydFF0eEN1OFBIOU5YcUVwSTFHQ3FreWgwNlFSLzFERXJsWnRJQjhFUmEw?= =?utf-8?B?NDR5UGU2TXZuK3huYmhsUEg5ZFRVd1FkUCtPSHFyVWtsendQYnFTUU1LcmxG?= =?utf-8?B?aEU1TUtlMkpnTjdvSWFaS0Z3MW9RWDlMWGcwcHlyZXZ1QWZUTEUzUXJiOTBC?= =?utf-8?B?VHFTdi9nTUNETUplYllBOGN4RnZ1YjZHdytMSXh0b0svcFViaWxOU0xpVVdF?= =?utf-8?B?aFFXNzFiMHNhWk9iMDdiOGVxWURlVmhwWEtaVytlTjZXRHFZREZtaE92NUJW?= =?utf-8?B?UnRBNDFndHY5ZHpLSmpXYXB5dXpidWpSNzJEcDhhTHVRMCswbERHSTk3UjFk?= =?utf-8?B?UHJ5YXlhR1JXYXY0TVZSckhnK3VveWJtcUJQdU92d25NMEdqeXhtY1plak5o?= =?utf-8?B?MUFGQWQzYWl0NldXeXg0bXJ0R0ZvNmZ6emlWU21TaWNERm52cCtlWVlWV2xx?= =?utf-8?B?U0xCQTVpVGl4UmZsK1NoWXhVOHcwcHZYSmQ0dWxlRmFwN0NIQXQyaFMrd28r?= =?utf-8?B?ME0rb0NjMVZQR214a2hDeTRiL2Z4aXZoaldNVGFiSU5mVytBelpXOXcyL1c0?= =?utf-8?B?MkgrZHdkanIyNHE5MFgzbmxhUlpyaE5XaFI4ZzNrSVRJODFuN2VZZFJkNVYx?= =?utf-8?B?blRQZGFNR1NhcVFxMTFJa3hPcFZ0Z1dXc1FYZXRaS1hmWlRaR3pyaVh1NGcv?= =?utf-8?B?ZFZ5MmloT2J4d1c2QmxiUGUwWE9tNHprSUxIa2hTR29WSEprQVJqMG5DakJL?= =?utf-8?B?NnpPODkxV0QwOXI3c3pOb2J5Y2VNaFJFamF4aWc0OVYxcVhwektWQVZpTWtS?= =?utf-8?B?YWtFQTVVLzBnaVBxdURNMlZPWUFnQmw4S014WTkrbm0xaTEzcGk4QlY3TXpZ?= =?utf-8?B?NnNtVU5XakVNNXk0L3VnS2lHeTA4OWVIekd5UmZRZThuTFJrUFZxb21zdTQy?= =?utf-8?B?Y2NqNTlQdGtQL05UVXk3NitkWloxQ1lwN0tTVW5EeDlkcEpLT0JSVHE5akhP?= =?utf-8?B?TUxEMVg2UmZZenZPcVVnT0dEUTlJdU4yT0NJdXdBMXJRdVVzSGRuaUpUbVhQ?= =?utf-8?B?SmJUV29XVGhoQ1RUSUgxRCtHeVJIK2xVSHdObVg3bXpaYnFkbzhTTWdxWGxD?= =?utf-8?B?amFDM2E5ZG5DVk1NVTNGWEhBcGNqdjN3cjlmLytaZEk0RmxkYmJhcGdrK3Q2?= =?utf-8?B?ZDlSWWxOOTd3djY0OWJVbHVkY2prRGI4TXo3eWgxbk5PWVpoejY5ZjRBY2ZD?= =?utf-8?Q?2v5mqXe+OhIbk+xZHoFfrPVkjW5QzJMfmocPOQU?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf8d2562-1189-4f96-cd43-08d937dbbc19 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:18:34.4208 (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: hTqHcuDP8RwEgiHRS4hskHNh5+8xqRsxKXp8klsZOzMR1MFGE4EJVJEFvlLiAFhhedVCPZ3x/DiPQU8Y3ZpCZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4384 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" In send_memory_live() the precise value the dirty_count struct field gets initialized to doesn't matter much (apart from the triggering of the log message in send_dirty_pages(), see below), but it is important that it not be zero on the first iteration (or else send_dirty_pages() won't get called at all). Saturate the initializer value at the maximum value the field can hold. While there also initialize struct precopy_stats' respective field to a more sane value: We don't really know how many dirty pages there are at that point. In suspend_and_send_dirty() and verify_frames() the local variables don't need initializing at all, as they're only an output from the hypercall which gets invoked first thing. In send_checkpoint_dirty_pfn_list() the local variable can be dropped altogether: It's optional to xc_logdirty_control() and not used anywhere else. Note that in case the clipping actually takes effect, the "Bitmap contained more entries than expected..." log message will trigger. This being just an informational message, I don't think this is overly concerning. Signed-off-by: Jan Beulich --- a/tools/libs/guest/xg_sr_restore.c +++ b/tools/libs/guest/xg_sr_restore.c @@ -452,7 +452,6 @@ static int send_checkpoint_dirty_pfn_lis unsigned int count, written; uint64_t i, *pfns =3D NULL; struct iovec *iov =3D NULL; - xc_shadow_op_stats_t stats =3D { 0, ctx->restore.p2m_size }; struct xc_sr_record rec =3D { .type =3D REC_TYPE_CHECKPOINT_DIRTY_PFN_LIST, }; @@ -462,7 +461,7 @@ static int send_checkpoint_dirty_pfn_lis if ( xc_logdirty_control( xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_CLEAN, HYPERCALL_BUFFER(dirty_bitmap), ctx->restore.p2m_size, - 0, &stats) !=3D ctx->restore.p2m_size ) + 0, NULL) !=3D ctx->restore.p2m_size ) { PERROR("Failed to retrieve logdirty bitmap"); goto err; --- a/tools/libs/guest/xg_sr_save.c +++ b/tools/libs/guest/xg_sr_save.c @@ -500,7 +500,9 @@ static int simple_precopy_policy(struct static int send_memory_live(struct xc_sr_context *ctx) { xc_interface *xch =3D ctx->xch; - xc_shadow_op_stats_t stats =3D { 0, ctx->save.p2m_size }; + xc_shadow_op_stats_t stats =3D { + .dirty_count =3D MIN(ctx->save.p2m_size, (typeof(stats.dirty_count= ))~0) + }; char *progress_str =3D NULL; unsigned int x =3D 0; int rc; @@ -519,7 +521,7 @@ static int send_memory_live(struct xc_sr goto out; =20 ctx->save.stats =3D (struct precopy_stats){ - .dirty_count =3D ctx->save.p2m_size, + .dirty_count =3D -1, }; policy_stats =3D &ctx->save.stats; =20 @@ -643,7 +645,7 @@ static int colo_merge_secondary_dirty_bi static int suspend_and_send_dirty(struct xc_sr_context *ctx) { xc_interface *xch =3D ctx->xch; - xc_shadow_op_stats_t stats =3D { 0, ctx->save.p2m_size }; + xc_shadow_op_stats_t stats; char *progress_str =3D NULL; int rc; DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, @@ -701,7 +703,7 @@ static int suspend_and_send_dirty(struct static int verify_frames(struct xc_sr_context *ctx) { xc_interface *xch =3D ctx->xch; - xc_shadow_op_stats_t stats =3D { 0, ctx->save.p2m_size }; + xc_shadow_op_stats_t stats; int rc; struct xc_sr_record rec =3D { .type =3D REC_TYPE_VERIFY }; =20 From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627159; cv=pass; d=zohomail.com; s=zohoarc; b=DhNjunuI8MuLMlltaQSKy8EYMyfg4Js92lyO1AwlpZTgswyy6otC+qc0zkCt+ne34uFsL3hYIe63ThQkmctlNyvCMd7HHvRX9fRUhzC6Gijq1aVJOhn4MFEwAKBMU2KOjE2mG8jO12RFY2erY362nzGkf6wSn7xiPFtn8rSQRjo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627159; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UQL1vwy7ts4g8z4e13aIolGoDY7pl/cPWGBcYrNuYnE=; b=Rz9ZH32gTYZE1snG5/RFk5J9zLI39tURi6fuaBiZE9wmdoBmOI5b7VEjiOqmTqTyJNdN+cNNKzww5VV3zYS5oCEhHKdm9INnxYQeBZAXOKvB98tezHqerpys+aBj7VhsqK+zbt0jUer7t7rbQYE7dsqy684gP0CzfwSGDwNtmwY= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 162462715914723.099911517496253; Fri, 25 Jun 2021 06:19:19 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147189.271141 (Exim 4.92) (envelope-from ) id 1lwljd-0008A9-CV; Fri, 25 Jun 2021 13:19:05 +0000 Received: by outflank-mailman (output) from mailman id 147189.271141; Fri, 25 Jun 2021 13:19: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 1lwljd-0008A2-8w; Fri, 25 Jun 2021 13:19:05 +0000 Received: by outflank-mailman (input) for mailman id 147189; Fri, 25 Jun 2021 13:19:03 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwljb-00089g-6i for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:19:03 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id e4dd75fb-842d-46e5-9aa8-31da860c64c1; Fri, 25 Jun 2021 13:19:02 +0000 (UTC) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-15-eaRjTwZzNQmLSfrWdTfcrg-2; Fri, 25 Jun 2021 15:19:00 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB5901.eurprd04.prod.outlook.com (2603:10a6:803:e9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19; Fri, 25 Jun 2021 13:18:57 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:18:57 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM0PR02CA0114.eurprd02.prod.outlook.com (2603:10a6:20b:28c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.20 via Frontend Transport; Fri, 25 Jun 2021 13:18:56 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: e4dd75fb-842d-46e5-9aa8-31da860c64c1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627141; 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: in-reply-to:in-reply-to:references:references; bh=UQL1vwy7ts4g8z4e13aIolGoDY7pl/cPWGBcYrNuYnE=; b=gQZxib/zmcwV5HCIhJJ0nVp7979NOykdZR8C1q31Vagw01jz89RObyGrwOkVxJS/DygtWC vvryCpRZ6jeRv4sQyfU9QCtqXBANz+Rqu9NKvxXUWPqfrNqh7ZYVHlbQML5v/oF+tRxF0s SnWLZGs4cUsw6g2uP3FSkcPyNgt1Yfc= X-MC-Unique: eaRjTwZzNQmLSfrWdTfcrg-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RNwmP2YsC9T0W987CpTTWoiLcipbJSRU+xEM+SJn/CdB5gny5Cc7qGOc04gAJPSWTNPeDuDGAQT0vQ48FlRE2710/AwnNj6O64Lq3Y5a9L5hkycMoK9ilGkEvlJ9pxD22503wmAsSY3Ut1iWNd333ik7Y/kiDVmUXl050ddZ2ldCQ/FuA4kgEo0OcWu5oYBtniyPrHnxM+/mpzFTxAFdtQBoea4CUy3eD91iQqvJZwJ05JHY9n7UI/MEW5wM4+rU4IhPDwMVWc65BxtynWqZE5H9LidLISLV/1NksRXDqVnWY6lxlP7WKj5VURAJbCkv47KxdfzDIMvBJvKU3a0AuA== 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=UQL1vwy7ts4g8z4e13aIolGoDY7pl/cPWGBcYrNuYnE=; b=mjrarlw+2WB8tAuYjeyDcZtfEv6z+kET7NwbflCr2ckKR2mQW1/mzWewMXGWBg3sMm7cTf0B6ldheJ8u0jUG0dNDWCGpSHIpPw1ynun+vmtEz9RglyRe+hTkkx+hKEvAk26wSAyC7m/dKMB0/fKcwiPdYmk3H1k+7hy5N6UEBG5PpWiByPrMCcErvUfYSGBZV8C2+63BH6dMi7X2irrqZJecxwbzEWQqLndB59fZY9msdo8hqEUnIrDPY8qKUw4oN6dvS7rjkxnTODaTOiq7POv49RJBdKhWt0NMbtoqT58vBgDm6BWNqh3ZVX9yIZ6UupdzyICJJU5IeqeiUBURRg== 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: xenproject.org; dkim=none (message not signed) header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 03/12] libxenguest: short-circuit "all-dirty" handling From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Juergen Gross , George Dunlap , Ian Jackson References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: <55875a26-7f1d-a6d9-9384-b03b3b2cb86d@suse.com> Date: Fri, 25 Jun 2021 15:18:53 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: AM0PR02CA0114.eurprd02.prod.outlook.com (2603:10a6:20b:28c::11) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 83c55d88-8442-45e9-6d45-08d937dbc986 X-MS-TrafficTypeDiagnostic: VI1PR04MB5901: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:249; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uOJOvaTv/hzHcsAeuycdN3POoU68RRbn7eA223F7+xUILj5LXdg58c7k2FcSEcX9ljTfUyD7EbqiB4Z6c6om5wO5wgCGTMqZewDA3GsR1rYLYzH7rYyN8VLGYqb1MZzD+si0PcLzsU1+dfDulnlmRkJh6v1qP3M2d7gv49YNvvpxkQKRkzoorfE5r4jjGEizbJXzIzed7HStrYKYGRgyINg0AzmHPfhRVqpQKfHmAq2morshAXTkakf+qz9HcV51q1r/TL0CHYEBQFTEA7WAND7a3JNkQlNoW9gqzo6bOuL+zt5KFYEJZCyIU++WyFbiAFsYQZ+UwMvqAKk2s0AlXhvyudzZDQDPBOhKNTzb87Hq7KLkjNbV53dhm7GxklHN9jkuKLSp4Z2MnBk51D5oYUgM4pobAnUGbJB4fXpBhbCxov0OiFU5cvFo2qOo0AJmFrS5uIHrZpdenveFifaNxoiinh9cmT2bqa5hi5selNSq2WZZXQENLMA2B78yjCx6Rx3av2Ic7hBfAnf+oEb6UJ45WN1i3rkNmL/pG+MsjITz+fG3GYP7xq+/6OuyhuXOtmHtMTdYmHO7xqRUVhUEEB959BmdDv+T5qpCq8nwJEIfxQaRtJx6PD5dBLMDM/Pvn8UXBNdwVaBp2HqZd3iotutlU7dg7dIVtjPHl5uFFjQD2/wZ29YN80cJh8KxmZ88VU1rsvjFkWIOd1LrUrChKw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(366004)(376002)(39860400002)(136003)(83380400001)(6666004)(2906002)(66556008)(66476007)(2616005)(956004)(31696002)(86362001)(31686004)(66946007)(36756003)(186003)(16526019)(26005)(16576012)(316002)(8936002)(8676002)(6486002)(6916009)(5660300002)(478600001)(54906003)(38100700002)(4326008)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?N0lRdC92cGs0Rm4rd0pWR2tVaTh3SU1NUXJOTVUxK0U0UDlzd0RtYkp3a0Jn?= =?utf-8?B?Yk96Y2pSTGs5WHJFQ2grUDhHZWRCZVdzVmw4ejVmNUl4L3ZPN0NINFNJbng3?= =?utf-8?B?anA3VW5lT0RpeEg4WlhETUlCQmZuT0VKNnBtTll6aWNhY25qWWZvSno1UW83?= =?utf-8?B?VjlFcmQ3alFndS9WbXFOQjNiY2FRMjNLN0tHbm9Iem8veTU3cU1UZll5aGpI?= =?utf-8?B?TVpWbm1oOWJkQXo3ZC9MVVlqTE01cC9rU0liWW5DMWd5T05CMDRMYzEzaTc2?= =?utf-8?B?bDhXVks5eDJwSEV5c1NVNkRidERodDFsSGNkT01KVjJtdGliU3grNEdJMjhZ?= =?utf-8?B?cG5LaFNyNWhKZVBwMDhBRTY1TXhSbTRsZ2kxaUVWRUFGZ3NkSjRHZmMwWU9j?= =?utf-8?B?d2l5N2E0VzhiamVJckw3alAwWVhYNmNoR0tQNDk0Ykp2aU1ualR3QXBjeGZU?= =?utf-8?B?QUp5ZU5CVmN0K2VWRDFsTjBoanNJeWhRV2FsWTdDbjRKMG5aVjZLdXhBcFZ2?= =?utf-8?B?VUZjNDN0L2RFaHdjK08rNGFBMEhzS2FIM1FtRTJuSVBYc1JUcWRQRFlOeXFI?= =?utf-8?B?WFYwc0RPZjFIdGxnY01PamcxR255VGt1U242UEFJS0ovZ2tMNHVtMVVVckF4?= =?utf-8?B?YUxjdHJBanQ0NFdFc09UR3kzYlNaSzUweHR4dTRubjBJekEvQVhnZlBObTkz?= =?utf-8?B?bEVFTUtDWmhJWi9hd3dycEgwYXpOWHhKNHdXSFlVOG44c3FmV0YvM0NRNGlt?= =?utf-8?B?d0ViaEh1akgwaXNFV1NjbWFpVEFUeEo1NTdpMEFWRXlxNmJqajRSSk1VSGx4?= =?utf-8?B?eHQ5czkxY1lDU3RHNUxJd1ZWNTd6L1RaTUo0alU0U3ZvZW5uWnZEWmJaaWRE?= =?utf-8?B?Z1FUQTNaZThlSEpJUGNmTWl6VUhyY2tFRGFLd1NYRDR1SWtBL1VZc2JpQWhp?= =?utf-8?B?a3RoRkxBQXlSQ0xOcUc1MmlzVit6UzgvLy9tdkFRenRjSlBzRFhhZFpaNWwx?= =?utf-8?B?ZWNqZk4rTEk3dVU2TnNYcmxvM3dMN3A5ZnhGUnVrOHgzRU5hOTFhbkZKSkJW?= =?utf-8?B?dXdZVWtUY1FXblVTblFuVitJWkkzYVdHTnYzQyswSlpPZjFLZnYwQ2V4Mm9J?= =?utf-8?B?YlRqRWMrNWVrTmdDbzRXd3IyS0JKeE5UYkdDblpGODNnNks4OEx5eVppNStS?= =?utf-8?B?NVh1WDc3ZlMxdExSZ1RtaHVGbFZKODRyV2lQdG5KeDlzL2g1ZzkrQU1TUmhZ?= =?utf-8?B?S1dURzJMM2xxWWdLb1h1Y3BUZU15M2h1YVhjNHF1YzNhNlg0YXR0RWxVVzZB?= =?utf-8?B?QXl0OU50d29BdTJXU1h0cmlhcG54RTdXcFplSkk5aUU2cGxneXNZZ0s5SVNv?= =?utf-8?B?RFBEZyt6QzRJUTFPY3lhZW4rcncvcjM1Zk5KeTdJTGFPNHJQYy9CMHE1K2t2?= =?utf-8?B?ZjZVbFJ1cmxZbHlhOXg2RTJVR29Jb09nQURWek4wM21VYS9ZMEJYSlVPSlVR?= =?utf-8?B?ZUx6ZlRJSUhmOVIrM2lBaVp3TENNUUhTYTBVWWpkZGpneFZTZ3pvUG5xTmI5?= =?utf-8?B?TlhlT0J3bVBxOHZZelRCUERkVHdLeHZHQVZXS0Q2WCtwc0F2MmtkUXNDOUZ2?= =?utf-8?B?azcveCtRUnM1MVZ2SFlqbjZ2R3ArVGszT1YxRDh2VElsKzJpNGxIVmtaYTdl?= =?utf-8?B?dEVHei9HUnIvN05Lb0pxZ1YzNHlHNjZLVkFkYk8wdXFhdGVlbCtrek82OTA1?= =?utf-8?Q?FnfLI9YY3rYxgOsR6yKasOvgMkVpOrxMGNbozgF?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 83c55d88-8442-45e9-6d45-08d937dbc986 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:18:56.9570 (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: jvGUnKf9pEd0JKM3jjrLR6nEpfozfE1dJzaxyqNjcGQ0FEVYcyCLiJ8q7KkAkpK36p5Qdwm7beKwH2ddilYptg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" For one it is unnecessary to fill a perhaps large chunk of memory with all ones. Add a new parameter to send_dirty_pages() for callers to indicate so. Then it is further unnecessary to allocate the dirty bitmap altogether when all that's ever going to happen is a single all-dirty run. Signed-off-by: Jan Beulich Acked-by: Ian Jackson --- a/tools/libs/guest/xg_sr_save.c +++ b/tools/libs/guest/xg_sr_save.c @@ -368,7 +368,7 @@ static int suspend_domain(struct xc_sr_c * Bitmap is bounded by p2m_size. */ static int send_dirty_pages(struct xc_sr_context *ctx, - unsigned long entries) + unsigned long entries, bool all_dirty) { xc_interface *xch =3D ctx->xch; xen_pfn_t p; @@ -379,7 +379,7 @@ static int send_dirty_pages(struct xc_sr =20 for ( p =3D 0, written =3D 0; p < ctx->save.p2m_size; ++p ) { - if ( !test_bit(p, dirty_bitmap) ) + if ( !all_dirty && !test_bit(p, dirty_bitmap) ) continue; =20 rc =3D add_to_batch(ctx, p); @@ -411,12 +411,7 @@ static int send_dirty_pages(struct xc_sr */ static int send_all_pages(struct xc_sr_context *ctx) { - DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, - &ctx->save.dirty_bitmap_hbuf); - - bitmap_set(dirty_bitmap, ctx->save.p2m_size); - - return send_dirty_pages(ctx, ctx->save.p2m_size); + return send_dirty_pages(ctx, ctx->save.p2m_size, true /* all_dirty */); } =20 static int enable_logdirty(struct xc_sr_context *ctx) @@ -508,9 +503,6 @@ static int send_memory_live(struct xc_sr int rc; int policy_decision; =20 - DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, - &ctx->save.dirty_bitmap_hbuf); - precopy_policy_t precopy_policy =3D ctx->save.callbacks->precopy_polic= y; void *data =3D ctx->save.callbacks->data; =20 @@ -528,8 +520,6 @@ static int send_memory_live(struct xc_sr if ( precopy_policy =3D=3D NULL ) precopy_policy =3D simple_precopy_policy; =20 - bitmap_set(dirty_bitmap, ctx->save.p2m_size); - for ( ; ; ) { policy_decision =3D precopy_policy(*policy_stats, data); @@ -541,7 +531,7 @@ static int send_memory_live(struct xc_sr if ( rc ) goto out; =20 - rc =3D send_dirty_pages(ctx, stats.dirty_count); + rc =3D send_dirty_pages(ctx, stats.dirty_count, x =3D=3D 1); if ( rc ) goto out; } @@ -687,7 +677,8 @@ static int suspend_and_send_dirty(struct } } =20 - rc =3D send_dirty_pages(ctx, stats.dirty_count + ctx->save.nr_deferred= _pages); + rc =3D send_dirty_pages(ctx, stats.dirty_count + ctx->save.nr_deferred= _pages, + false /* all_dirty */); if ( rc ) goto out; =20 @@ -807,8 +798,11 @@ static int setup(struct xc_sr_context *c if ( rc ) goto err; =20 - dirty_bitmap =3D xc_hypercall_buffer_alloc_pages( - xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size))); + dirty_bitmap =3D ctx->save.live || ctx->stream_type !=3D XC_STREAM_PLA= IN + ? xc_hypercall_buffer_alloc_pages( + xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size))) + : (void *)-1L; + ctx->save.batch_pfns =3D malloc(MAX_BATCH_SIZE * sizeof(*ctx->save.batch_pfns)); ctx->save.deferred_pages =3D bitmap_alloc(ctx->save.p2m_size); From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627176; cv=pass; d=zohomail.com; s=zohoarc; b=mu7Lr5mxoDkSKTE6ZA91/TRJKxCF7vhkGpDP8uI1gSdnXjWFQuVyoevLOACabHi9RRjCcA4HfmFKBDFRNPcVImV+tyKTTV+vgeVA8J5vxstsiSayV4LVbgszhQidQdN/LvA3D+EPEtdJy/eOVXg40yavRkWuxAdJO4XlE+DFgOk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627176; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=kW3iCE9fvyJLe9hO7RfRRXOuY/QBfyW7eYF2CsurNMU=; b=G5JT9X4yAEN39hAasL0aq7cGReNp6aVrmqB2Bl5g0d8gpq5Xj3eAyQ9GAWEpugjHeQEOWkH9+1gfQT+Oqkj39qep5wyldcKFLY7n73RliXGmCO7wnMc2S+rWpP8pW37KBPhgru590bzETzqF79u7sK6XUd10yb81cxR8mqlojY0= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624627176569927.5115293520178; Fri, 25 Jun 2021 06:19:36 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147192.271152 (Exim 4.92) (envelope-from ) id 1lwlju-0000Cb-Lk; Fri, 25 Jun 2021 13:19:22 +0000 Received: by outflank-mailman (output) from mailman id 147192.271152; Fri, 25 Jun 2021 13:19:22 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlju-0000CO-HQ; Fri, 25 Jun 2021 13:19:22 +0000 Received: by outflank-mailman (input) for mailman id 147192; Fri, 25 Jun 2021 13:19:21 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwljt-0000BR-A6 for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:19:21 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 3876b446-720e-438f-8a23-29219d538974; Fri, 25 Jun 2021 13:19:20 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2173.outbound.protection.outlook.com [104.47.17.173]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-20-nVKnUX0mNEqqLjsdmkd90w-2; Fri, 25 Jun 2021 15:19:17 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB5901.eurprd04.prod.outlook.com (2603:10a6:803:e9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19; Fri, 25 Jun 2021 13:19:15 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:19:15 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR3P193CA0033.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:51::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.20 via Frontend Transport; Fri, 25 Jun 2021 13:19:15 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 3876b446-720e-438f-8a23-29219d538974 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627159; 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: in-reply-to:in-reply-to:references:references; bh=kW3iCE9fvyJLe9hO7RfRRXOuY/QBfyW7eYF2CsurNMU=; b=aGWee49w4Kkv/xZDcQ2uxbMoIa4dQ9k1Vdzd2/6sbue8TxSkjAo98ILL6FYvtJTcHNG2R8 2bujOMptxXtzXrj3fpTniSvKel+RLQ3gUC7QKnp3oG4Jc7H2e9PtbBSwxtVx/FhUwZ3HOm Ngtkux4dg5K/NCcdsrGF89VxEwm/HLY= X-MC-Unique: nVKnUX0mNEqqLjsdmkd90w-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V0adlsIZDwqut6iKJRexBGQ7RlufCXEPL311HT+XMQB1cl11Rc57/HFl+3uj9PebXiMF7rrvoBG8xLKbBxrueR7+4IbLEFSmYhx1JA3WPGpunmN/OMOnvtm6eRDcofwTldVUIFYYVte0SbgshlGBlmHIizbbQk7rhB/2bk2Fl5+cj7ICHAdBeIwk00mihicVKfyyAkhVqLTm2V6R37fes3nTv1votHfGLH9nF0iFWE8ag9fQpTBQ3lFASXnu88zNTA2qmN9EDnG5SGPvDv5tmJrylgAFV1x15rBbsshuS74lIm0QP5VYQ3PyhqYefDRpxHMcIzcnnd54Hdh5NrOoLg== 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=kW3iCE9fvyJLe9hO7RfRRXOuY/QBfyW7eYF2CsurNMU=; b=UG1rKIkZkbhAkORRCxDol9hed9azsbjGim89dcmK69dX+bxo37XcpKJkcn3q35wCUCqvTZ+zCFEoIrzsd64Vww1NwXjgwNNLgQ6EaPxMrma6imrsWpp5fc5ahM1uRGZPEaGL8lL6Jv/PQ40EHhiRnIe+ktk9dnPe2gOnGZMXSGVsAA3voKb6yo+IjEwb13fN+kQh/0dI9zF8FjQLvSprTzuH+IrwQUDyLN/kfikpcVDbZW5iFrx/dUguz53J2053XLnJqACijAr9YNqVZY5gZzomosE7qFO3wCB+ePQSUEo9maTh24YpgvAHGqlUgLVrPGR1oR+viSg7xioRmC+LDw== 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: xenproject.org; dkim=none (message not signed) header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 04/12] libxenguest: avoid allocating unused deferred-pages bitmap From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Juergen Gross , George Dunlap , Ian Jackson References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: <61ff4f26-a9cc-d123-98a0-be6c23f21e9b@suse.com> Date: Fri, 25 Jun 2021 15:19:13 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR3P193CA0033.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:51::8) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fa0caaec-8a0a-47ec-6d9c-08d937dbd4ab X-MS-TrafficTypeDiagnostic: VI1PR04MB5901: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2657; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2HN5GcRqtmDaS09naiM8ERfwbwRWg/xYvfpGCQvv+DeTf9gDB3TTFsem3L46kh2zius2NrPfSLdsSJEq6CG9uxYb3rQN/JRJksCekcM4V07SmvXEpC8RXmK/k8lIlyzJeoadIRJzpIPjMRq2zmCNRmft7G40uSBlAswXpssEU2SAPsI2rHb35y/KD1gtHYCIv8C5WuPQJb0QwaJMfNU8LxD2Je4TzBJAuj5lEHudO63s9ndcq4g9NXEmcTwwodZhGze0G8tL+IYbMyrRtU7RBJ4TfJgOR92Hmu4BamJbrghc2YrOQTFNfMhfoV6VqpgAtiOGvl46auQBNmziVfQghwqkmQ1nNw0NComru9NUOXZFY64i99sHBYhBWq9UaMklIUAv+pl07r2qaIyRr1DrN766gOE+Yr6mKGCxXwWtZL2j7IXClQaQk3fGS8G0PKM8vZzJitkVHJud7fTfza+hhzu3GE+sI1NlAL9zNpU4RHepz6wgGXbLw78nLmX1zJeea9ceh4KmON+TDSCesjqL9NLWbTsrDEenQsntNwDO1xothBBWpDpz2Tv07L/5TV0u9xDJylKVy6VLS3Zsq4G6ERB1spPS46N83jN7COFcyrQmPGcE8Qpe/aOYXNa7nQg7KRiMLBf40avMVP6q/xG/yApKyT1PBNH8n9UttmZZmVud9PiqcjcqPdinkRMmCqXf X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(366004)(376002)(39860400002)(136003)(83380400001)(2906002)(66556008)(66476007)(2616005)(956004)(31696002)(86362001)(31686004)(66946007)(36756003)(186003)(16526019)(26005)(16576012)(316002)(8936002)(8676002)(6486002)(6916009)(5660300002)(478600001)(54906003)(38100700002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ekdkWmE3Ky9weERpbWJEcWtOVHAyWmNXN3ZBcUs1M0tTR0pLOWc5QXdqT1B0?= =?utf-8?B?RDV0WmplRUlBS3F0Y0J5UkkvMFk1U2hZVXg0dUpiaWR3NytFNmZKV0dXYUtn?= =?utf-8?B?N1M2S003TEY2M2JMeXZKbTNGcDRuNldkY2Z6aE1lOTRMSmNMWHBQWDYrMC9Q?= =?utf-8?B?SGp6SkVDbTFxRm9WS0cvNlc5V2hRUlFKMUs3bVc2ZzI5QVlFb0FtNWMwdHdr?= =?utf-8?B?RjdhOWJRMEVMYWptVWtucDFlQmpVbS9HaEQ5L29RQ0dseGF4MmhrWk9DS0lE?= =?utf-8?B?QWZxeVV0S0F0NzArQ0pBYnFHSTZ1MGhuQmU0cWF2VWVOQ3NsUWphcWxWVDda?= =?utf-8?B?OFlYblUwWTlwTG5jdTlNWmhPL2tXWHoxMUlCcVBpRUo4RVBrRDRTalFyaG1a?= =?utf-8?B?aHl5TnZkVHlIaCtKNm5PS0x3RjZGOGkvNitmaGEzQzN0THcxYzVaV2hKRzF5?= =?utf-8?B?L1ZaMGtXcmZNUE94ZlI1VnYzc3U1K0piMS85SE1lVW0vc1F0dEJCbG8xaVNP?= =?utf-8?B?clVqZzN2Vlk0aGloZUhBN2t0RlZhV1Bqb3Rtc3N6MGxhbGgwVmEvVHIwOEpC?= =?utf-8?B?ZTYybklOVllQR3YvYVRQM00xL3lVL2J0NEROblh6elp1dlNjNnFpUE9FUjc1?= =?utf-8?B?Q1BYa0NxbVhNd25uQ215VGhJMGN2R2drb1B2ZHZJaXFqNVNQRkNCWHBWQ3Na?= =?utf-8?B?Q3V3cU5WbWlZbVY0SVQxei9HdTRhbmFLWkFZWDkrV3VZQVkzZXppRk8zV08r?= =?utf-8?B?VExQUitjcUxscUU2ckkzYWxoNXc4Y2dkSW9QWUxua0RrSDU3Wmdzb01Ua2Rx?= =?utf-8?B?WFFybkFXNVVINkgyaElzYjZmSXN5eUZuODdaVEtrWERzWFYvMnZ5Q1d4TzZB?= =?utf-8?B?S2VQWTFPcVpvZjBkZFpOYnlqbUJuVVkzSHhtK3JoekpUWXlUNjhSMGFwL3J5?= =?utf-8?B?TUVNdjBpSlNKblJrVXZRc1l0aEhIZUdhMktHUFJIOFBtaGRaKzNnS1ZQbW9I?= =?utf-8?B?c29GdmtFbHQrTlJJSHltRUY0dWcxVEJPUDJ0YzcvaGU5WTlLQjBsWlVnanB3?= =?utf-8?B?WE9JL2o0R3l3OGNPNEFUbDFLanNRQ1Y0d1hiVyt4YzlGRG5mblBYeEticUJi?= =?utf-8?B?TytnV2RPNmhYeTBTcUpub2pWdkVhcXdNcTdXVkhTVkF5MHkvNzFRNWMxdFZM?= =?utf-8?B?ZXR3bTFXS1JpalFtUXlSclBTYXRiZGlPcnJQQVZiUFJlSXJHV2lwZmRNRHZ1?= =?utf-8?B?T3NrUVltdXgyZFppZk9jSXN2RGlkWmZvaUx1RU4yR05oT2doa1lhVVhISUQ3?= =?utf-8?B?MWVjcmNWQzljZy9NZnlNL1NFNXU5Vk1HeEZQckJJN2lyWW1LSUhyRlJ5eThy?= =?utf-8?B?c0VvQ2cya3RzbU1mQytQNXZuOHROa2t3ZFFsd1lKc0Z5c1lET3FzTFFLdm9u?= =?utf-8?B?QTBhSXF3YmlwT3FweDFETVBOemhLaHVVQXQvcCsySUFSUGhaYUpERFZSSjU2?= =?utf-8?B?eURMK21qWUxOZTh4V1hkMEdZN3lWTGhvRGlOR0lCZTlaQUR5WkV6THlKYXdV?= =?utf-8?B?OWpLc0EzMG0xTzNMZGh2M2VzaHRXWHo1YnpaSWtZN0o5dzRaTkJuWXYvUHl0?= =?utf-8?B?S2RGdWFhemhqUjN1S3lTL0xwMVZjdy9rOCtUVHlkRFU2Qjl2VGlObFJpVVhh?= =?utf-8?B?Uzd6dVBLS1dxbXR6d2hxSFA4RVNtNGJYWThDTE0wVjlhaWJMN3hRc2ZaTWRG?= =?utf-8?Q?PqgaEz4YHAe3hVLRNlqUphePYRMpgiC3pHWQgm0?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fa0caaec-8a0a-47ec-6d9c-08d937dbd4ab X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:19:15.6694 (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: piVoYQ0WmFCmSEyjix2zX79A8CKVn+S90U/2PfGsGZ1nu9ga5ypiF5xMC/LJ51p5frhKRpxGYsfNnMC0Ihe9Og== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" Like for the dirty bitmap, it is unnecessary to allocate the deferred- pages bitmap when all that's ever going to happen is a single all-dirty run. Signed-off-by: Jan Beulich --- The clearing of the bitmap at the end of suspend_and_send_dirty() also looks unnecessary - am I overlooking anything? --- a/tools/libs/guest/xg_sr_save.c +++ b/tools/libs/guest/xg_sr_save.c @@ -130,7 +130,7 @@ static int write_batch(struct xc_sr_cont ctx->save.batch_pfns= [i]); =20 /* Likely a ballooned page. */ - if ( mfns[i] =3D=3D INVALID_MFN ) + if ( mfns[i] =3D=3D INVALID_MFN && ctx->save.deferred_pages ) { set_bit(ctx->save.batch_pfns[i], ctx->save.deferred_pages); ++ctx->save.nr_deferred_pages; @@ -196,8 +196,12 @@ static int write_batch(struct xc_sr_cont { if ( rc =3D=3D -1 && errno =3D=3D EAGAIN ) { - set_bit(ctx->save.batch_pfns[i], ctx->save.deferred_pa= ges); - ++ctx->save.nr_deferred_pages; + if ( ctx->save.deferred_pages ) + { + set_bit(ctx->save.batch_pfns[i], + ctx->save.deferred_pages); + ++ctx->save.nr_deferred_pages; + } types[i] =3D XEN_DOMCTL_PFINFO_XTAB; --nr_pages; } @@ -665,7 +669,8 @@ static int suspend_and_send_dirty(struct else xc_set_progress_prefix(xch, "Checkpointed save"); =20 - bitmap_or(dirty_bitmap, ctx->save.deferred_pages, ctx->save.p2m_size); + if ( ctx->save.deferred_pages ) + bitmap_or(dirty_bitmap, ctx->save.deferred_pages, ctx->save.p2m_si= ze); =20 if ( !ctx->save.live && ctx->stream_type =3D=3D XC_STREAM_COLO ) { @@ -682,7 +687,8 @@ static int suspend_and_send_dirty(struct if ( rc ) goto out; =20 - bitmap_clear(ctx->save.deferred_pages, ctx->save.p2m_size); + if ( ctx->save.deferred_pages ) + bitmap_clear(ctx->save.deferred_pages, ctx->save.p2m_size); ctx->save.nr_deferred_pages =3D 0; =20 out: @@ -791,24 +797,31 @@ static int setup(struct xc_sr_context *c { xc_interface *xch =3D ctx->xch; int rc; - DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, - &ctx->save.dirty_bitmap_hbuf); =20 rc =3D ctx->save.ops.setup(ctx); if ( rc ) goto err; =20 - dirty_bitmap =3D ctx->save.live || ctx->stream_type !=3D XC_STREAM_PLA= IN - ? xc_hypercall_buffer_alloc_pages( - xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size))) - : (void *)-1L; + if ( ctx->save.live || ctx->stream_type !=3D XC_STREAM_PLAIN ) + { + DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, + &ctx->save.dirty_bitmap_hbuf); + + dirty_bitmap =3D + xc_hypercall_buffer_alloc_pages( + xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size)= )); + ctx->save.deferred_pages =3D bitmap_alloc(ctx->save.p2m_size); + + if ( !dirty_bitmap || !ctx->save.deferred_pages ) + goto enomem; + } =20 ctx->save.batch_pfns =3D malloc(MAX_BATCH_SIZE * sizeof(*ctx->save.batch_pfns)); - ctx->save.deferred_pages =3D bitmap_alloc(ctx->save.p2m_size); =20 - if ( !ctx->save.batch_pfns || !dirty_bitmap || !ctx->save.deferred_pag= es ) + if ( !ctx->save.batch_pfns ) { + enomem: ERROR("Unable to allocate memory for dirty bitmaps, batch pfns and" " deferred pages"); rc =3D -1; From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627216; cv=pass; d=zohomail.com; s=zohoarc; b=HFdN1+wvMN7mYz6bwM30QECTKfUaGZzXDhvWR7jvj/kD+zitd9gIelpyz4JdVOZ36nOq5dmT8hLs9MXgBVy/3zDkLXLviwu/ePx+pRuTQR6BQXvhg79lv8rzNxVQ14nt3bX1I3mwPgB17lxu8Bh2MPqc+AT5W94xcZc+hIIVe/I= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627216; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9zqPlZFqr+nDgrvYU7y3XbcPEkd6sL5MQWdO6KTLw4I=; b=BSfBefwIOqFlAgRu1qp0A62ZT6zd7nAsYvC3xahU1VCe9IcjVjH9cxBIxz7EVGEu/9DBHfKw406SQd1NGuEF5zuKSRdR+Z8GyvUJyLloILWTi42SOf6MwNH0Ciq1jg2TXYxK0K9ebSD0w9WV+m6Q5Vrjtf2kzSY9Xbz8OCt59Zs= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624627216462462.8336898653299; Fri, 25 Jun 2021 06:20:16 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147196.271163 (Exim 4.92) (envelope-from ) id 1lwlkX-00011k-Uf; Fri, 25 Jun 2021 13:20:01 +0000 Received: by outflank-mailman (output) from mailman id 147196.271163; Fri, 25 Jun 2021 13:20:01 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlkX-00011Y-Qu; Fri, 25 Jun 2021 13:20:01 +0000 Received: by outflank-mailman (input) for mailman id 147196; Fri, 25 Jun 2021 13:20:00 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlkW-0000y2-HW for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:20:00 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id b1d4cd40-0721-436b-9954-39d18df7b62a; Fri, 25 Jun 2021 13:19:59 +0000 (UTC) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-22-GVjm8HHUOPqADXMl-wDJhA-3; Fri, 25 Jun 2021 15:19:57 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB5901.eurprd04.prod.outlook.com (2603:10a6:803:e9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19; Fri, 25 Jun 2021 13:19:54 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:19:54 +0000 Received: from [10.156.60.236] (37.24.206.209) by FR3P281CA0043.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.12 via Frontend Transport; Fri, 25 Jun 2021 13:19:54 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: b1d4cd40-0721-436b-9954-39d18df7b62a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627198; 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: in-reply-to:in-reply-to:references:references; bh=9zqPlZFqr+nDgrvYU7y3XbcPEkd6sL5MQWdO6KTLw4I=; b=kQ+5S4fbktn5D9dIG3btbwKYDcv2rZKIUgJpL3tiOzPun4akv8W3PvVgaqW4MZG2a5arCu dP2bgjQw7d0+vvdDBoGALZZYbmMAUZnnaSxuoa9tXUEWW9DeTxhDWd0ZkDHFrfNBJ+QPaO ee9ocL5O+YXeFyyYxrI9E3ock8zwVJs= X-MC-Unique: GVjm8HHUOPqADXMl-wDJhA-3 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gsyO5B1COetqzUbnhFXW+RCXm4MpeHr0u9CQWP++e1cEjWKWVvbSSaW0FffII3FAo6vMbZDS50JrnwcivJkt/5/u0IcGNNDHcXY6/RcYQ7uIT0jfKAFgWkfis1jgaHgMLxdtsGDu6vtFsdcxFeQ8WlwPelhY16G5UvBdVQ/LnJSFjT/4o/4QS/Lmcd2LeKSTknW8iUMe81itNQWJzY0as0shmfemhJgMR+iaog5Tgikf9uMxZ2IHgxb8soVqdumE+dTiOemdZHk12j190C1h+dkhX6iJ46rDkJkP4L7YupI0ZmJeNwsI8rr3IskRlI7wK0U5DPKLOCMidzNPVs7Oqg== 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=9zqPlZFqr+nDgrvYU7y3XbcPEkd6sL5MQWdO6KTLw4I=; b=kkHK65kpjSGbcm2k3oXHF9vpeh6xQWDguQ+yfQOPY8UG2OFejkHattHa7AmYZMU8C9dCFF/kMzrS9ZAEuMVMwKGo7exYS0B0ZM8QK6JCBbU3ejDN+XtBTWP1tnka5FMl1zRQTOg5v9sPlvkyR2r4g+K5M3KGLXm4ZjLFueOfFca9hny1KiQ4ibtI3tlWwM13Gpx/WCyfJvR29Tl9/kNRQcsmRRG1fqCODk5wyLjSF9C4MdcKXjyrA/ye2QEHT8T/nnXrhwJkEbIX0cBRWoVtXFZ+pLqcHiV2p+lsNi548RZvQgorVsLBMjv26RSLlFel7cUV6NtEpZ2I4fygQjT9ew== 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: xenproject.org; dkim=none (message not signed) header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 05/12] libxenguest: complete loops in xc_map_domain_meminfo() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Juergen Gross , George Dunlap , Ian Jackson References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: <0d824d4b-0696-baca-a3ef-95ee641e4d08@suse.com> Date: Fri, 25 Jun 2021 15:19:52 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: FR3P281CA0043.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4a::15) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8ad4c409-5c68-4ba6-bc58-08d937dbebf2 X-MS-TrafficTypeDiagnostic: VI1PR04MB5901: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OmBp+abpP/PW4LCuRDxkI6PIjJXcEHZTVkJPfCAgqu7KViI8JpuPXHEsdFJILcUyPGH+J+mEdXJs0AEO4rW+cbtKzuwUfZ/1/IaTfkQrGCgitXGc7rM0h6vaOehYmHsc0EqjzlvTSSUVKjOhxYFfzFZfM+cv1PLPP4fAvm6IXc//FhoaISUrT+h8jfVtp+x8sE6lqtykRGOCe01vKN2sUPNTz5Lnhbpkt/Hc8cTQ0uVzU+PqHfQlWXE8Bw9WW6i6rI8wnh9dZE7iLNlpkYseYKIclIYctJWVkeWKUEt13KTn7rJRZhCKH1E20rWMwBRIXoTr7823HZVAWiMQ0jLTbgp+M6bYlPAmGjNTq2JirG7sAApR517xXwllPNqGihI/3rZl1jNZL6X/Q/xRlcCjsipI04sWbDOgmtQbc/eLVSkNzrkgE9tosIvzkzTXx5jamRwNuvmh6aIBTH9P764WLxCYmY4F2tL3Gvy3PBcXoq0zU4E8JhrQAaCC5vYu9+WikKXklgCW4Job3eoOy+oLB4rX2SxmKBzxu3YdvTYyVcrEHhFk0Ish/queYsrJomwtiRn2h/hl15l0kGUsrxyQ64bWA1NvaQqaamsL75gzEW9xihuvJ6ByEOp3LwU6kkxk1TtIMQkdTmzlz6SzsoR1bp/xLEC+XInAx/WwidFSH2t+FCkB0oqX4UgGWp+avENC X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(366004)(376002)(39860400002)(136003)(2906002)(66556008)(66476007)(2616005)(956004)(31696002)(86362001)(31686004)(66946007)(36756003)(186003)(16526019)(26005)(16576012)(316002)(8936002)(8676002)(6486002)(6916009)(5660300002)(478600001)(54906003)(38100700002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z21mU09aT3RBcmo4aDU1ZHFuMGkyNnljYjlwbXFUWnoweXhGNmFhRWpaTWQx?= =?utf-8?B?cDBVaE4wZTE3TUJrdzBqbEhXTUNQRHA4TVdSNC96OVhtQXZXTFQwL3dLdkwx?= =?utf-8?B?M1BjTUQ0b3VFaXVPNGZOL25UWkhnSjFWZ05ZVDNtOFAzVzN6MEpiZ1VkdGNl?= =?utf-8?B?eW9tUEhyeEprYzdFcG0yRVJnaHAvUEJOVFlralNYRVJrellrdHFjMmZkTVBr?= =?utf-8?B?M3FHU2xiSmdEVVhvQUNXS1MwNDF4M2ppYWNYNkVvaUptdjFRNXk1VEhmRGFm?= =?utf-8?B?ZDFjeEJUQXI5RlBlb0FlRVRrajBscHRZQmUxQy9pb3llN0JBY1hSWm9IeS85?= =?utf-8?B?M1JhbUNUWlVZSnBENlZjdzhrS0l6UVo4bWp2TE1HcW82WE9USVpwZ2xxK1U4?= =?utf-8?B?UUxxTXc3Z0Iydk5Ic0xFcStveGlVbEYwMGlrTE1pQTNrWURVd1FHQmpuUE5n?= =?utf-8?B?V0FjSlFRMkMzV2VhbiswNUxZa2lOVTgvTG11eENhM05rR2NqbmtZT1NnV0E5?= =?utf-8?B?c0JUMi8xanZFalJmVFNhMXg3dkkxcGdPeXpuQU1nZ1VMakNPcjFTK2FLUjVt?= =?utf-8?B?NStUY2Nib0JBYys2MFFsMFQxTjhEZWdVYlkvUzNYYTJPYUhPM0NQbjJMNENK?= =?utf-8?B?M283TUt5OHZHMzR3NTdIWUVNL3lFd1lnbkNmZG5ZeXR3dEtzRUg4NDVDN0h3?= =?utf-8?B?clgzNkVGWnl2MkFVZEhHa0ZsalkzdnRYZFpvZld4ZFVxMXFEM05XQlc3cmhp?= =?utf-8?B?TEs5cjBlamZSTC9LUmZ0V1ZpOU1USHJ4Q1BBbkFVQWFvNnBzNGRSZWp0d2o2?= =?utf-8?B?V09tdHdtTnA1V2tVcFJwaEdocU9VaFUrYzRIbEhxWVJTQWhuMm9VRWx1Nmt5?= =?utf-8?B?R3AydUhWNGp6R3I4SlBYdlJKWk5QaDlPRWx0dWpTZUdxa2d1d2h1MHFHeGVV?= =?utf-8?B?enRvWXhsNW94NVJIREgycWQxSTlqUXlGMEx0QmVEbjQzQ1BaTkkwdm1rK3U3?= =?utf-8?B?S0ZBU1dlSUUrUjdjclRSTnY4YXVxT2MxSExMdTVUekdja2xyRDg1L241Rld4?= =?utf-8?B?WVNMSGx3c1VTeEU5MnBOUi9zTUEvTXJpSmxWQVJseXBEcG55TmxIcWJWRzVL?= =?utf-8?B?ZU5wZk94ZWpkcmVUWlh3d1Y2T3EzeCszUDgrZ2crVWRGM01MSzBCMTNZRnFS?= =?utf-8?B?dDZ2bnR6ZTZqTS8zcXVuSDV6MkZ4R0N4NElGS3JOR3M5aG1IQ051MXFGY0Va?= =?utf-8?B?TDRiMVNla2pHeHdRdVljZWRXT0xBOStseEc4Y2FZcDZVV0VzbCtrNWlpUHI2?= =?utf-8?B?cHM3TGxPUjlMTFQ3dGNBMXNEYWptaCszNXR4UnlXTmEvN29YelR4RmtMVVhv?= =?utf-8?B?UUg1RzNqNFl6UFhtM2grdWVocVJ0M0VpL21lNHJENzNpUTJzV2dIWXVERGta?= =?utf-8?B?aWFzK0c4VEVXWlYrS0VzbEMxSHdHRDRGWDB2Qk1FYmk4M0prVUxnU05YY1E1?= =?utf-8?B?QkhQNHdXdzRzRmRrVVNMTG0rS3NLc3hiSEUzUit0SEpPNVN1eXA5N29FMXdx?= =?utf-8?B?enhBa1pvK3BaL3JkaytIak03Qm5meHF1OGJmVGpyR0x0Wnc2OGY3S2x6TjR5?= =?utf-8?B?WVpvZDlRWWpLRUM0THpLdk9pNVArZDhBSU4zTjVlYUFsSjhrTmRLcnAvTExq?= =?utf-8?B?bitFT3lveU8rZFM2N01FZm9YMDFORjFFd3RRRGJlUUYzaEZBUVhuSjFvd0dx?= =?utf-8?Q?lqX/uIyARa+jtuL5+5DjG0eMtSoGX1SKrbR7gRX?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8ad4c409-5c68-4ba6-bc58-08d937dbebf2 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:19:54.6634 (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: NMs4bjWCSPWU6l3uyeS2bMqBFpdwDJiKjouNJXO3uU7Id+hmoXvTvPKWovCvwLrhRfJ4kQ3QnkjR3E6QiBR9KA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" minfo->p2m_size may have more than 31 significant bits. Change the induction variable to unsigned long, and (largely for signed-ness consistency) a helper variable to unsigned int. Signed-off-by: Jan Beulich --- a/tools/libs/guest/xg_domain.c +++ b/tools/libs/guest/xg_domain.c @@ -40,7 +40,7 @@ int xc_map_domain_meminfo(xc_interface * xc_dominfo_t info; shared_info_any_t *live_shinfo; xen_capabilities_info_t xen_caps =3D ""; - int i; + unsigned long i; =20 /* Only be initialized once */ if ( minfo->pfn_type || minfo->p2m_table ) @@ -116,12 +116,12 @@ int xc_map_domain_meminfo(xc_interface * /* Retrieve PFN types in batches */ for ( i =3D 0; i < minfo->p2m_size ; i+=3D1024 ) { - int count =3D ((minfo->p2m_size - i ) > 1024 ) ? - 1024: (minfo->p2m_size - i); + unsigned int count =3D ((minfo->p2m_size - i) > 1024) ? + 1024 : (minfo->p2m_size - i); =20 if ( xc_get_pfn_type_batch(xch, domid, count, minfo->pfn_type + i)= ) { - PERROR("Could not get %d-eth batch of PFN types", (i+1)/1024); + PERROR("Could not get batch %lu of PFN types", (i + 1) / 1024); goto failed; } } From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627242; cv=pass; d=zohomail.com; s=zohoarc; b=nmKpK/hAStoj6QgqVUME+YfZgqGgX1EpJlBBWydD4b9Fe8xFuVc45aCl7eat+GFIidIDDAYlOYqGn4xU1nkRgH7q1hIAPa3MlhBO4WqE5FnLpwvsCnI55IWCG3KenebHvRClK2/ICoz6VHsA6nZz1sTWAV9TS39n9SaxTzR4KMQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627241; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ct2KS5gJ4GCYf4vquepAwBJLuaf7rCN9u1z/krvGGpw=; b=ndAq/L9uCM6riRfjXFqR17UQz0SzgipXKvtp+aWScRq+oxBwCoyKHXNW/BGsQ/+wp0WZHwnszBaVuj7y/7MNyYgSBHMcbYZ4qIVO8jxDRbD2hMkYg58bzVi4mFwRVs9fcI30tVEeXrTz7qaRYRuXE2oc23nBojXOIwf2ADJCnfU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624627241990660.3057617545613; Fri, 25 Jun 2021 06:20:41 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147201.271174 (Exim 4.92) (envelope-from ) id 1lwlkz-0002K0-AB; Fri, 25 Jun 2021 13:20:29 +0000 Received: by outflank-mailman (output) from mailman id 147201.271174; Fri, 25 Jun 2021 13:20:29 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlkz-0002Jt-6q; Fri, 25 Jun 2021 13:20:29 +0000 Received: by outflank-mailman (input) for mailman id 147201; Fri, 25 Jun 2021 13:20:28 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlky-0002IV-3H for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:20:28 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id d30a404f-f236-419f-8445-83a68afa4d29; Fri, 25 Jun 2021 13:20:27 +0000 (UTC) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-30-XLwUSQetPoWehQbf_rgoSw-3; Fri, 25 Jun 2021 15:20:25 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB5901.eurprd04.prod.outlook.com (2603:10a6:803:e9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19; Fri, 25 Jun 2021 13:20:22 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:20:22 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR3P191CA0060.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Fri, 25 Jun 2021 13:20:20 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: d30a404f-f236-419f-8445-83a68afa4d29 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627226; 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: in-reply-to:in-reply-to:references:references; bh=ct2KS5gJ4GCYf4vquepAwBJLuaf7rCN9u1z/krvGGpw=; b=jnKSTrvHrDhsdELbtwE1eux1ipwZpyXJIls3kfvNaw7JKGtsP/xDqwdenDYiO9E+GS8ZnZ M6chwYBzdHhH4sadQzUby500q+Gr65s2a81l4b6A/rFZ/mTpSZnAGq0N5YdbYgNQG4SuXg CYHXpT3E99JPbuVQP/DZUi7E5iMi7gk= X-MC-Unique: XLwUSQetPoWehQbf_rgoSw-3 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oVV7p73F8hl92UEJ1f/H06o3hrDpCSBpa+8VXWvyEsHErkjuyQqdJgykZhUGx4WTALHKqDrDlbL7Le/OJfL2pn8QmYquulk2LtX+TVOf2LWqICIjV5yUdgneJUlid5DHQ5C0+3C4iLY19E+4LD9VBwgZT5E91ogEgsw+IC0sKsBIq7R+0KBbBBSGFo7EJ+C1JUTHiq0I12hKVFTl3Bzqm6bbEDZa5nQZt5F/ehjfs9EM8Y38OD6CSpBJiPmTHyPYjDC2xO+k7AHj+jY6Tkvo7XNgjpbJG1tOYsab7KAw4VHE6gCyYq+2PNAbF4zhNVAb5mXJxbT6ItjVls9mZHCb6Q== 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=ct2KS5gJ4GCYf4vquepAwBJLuaf7rCN9u1z/krvGGpw=; b=GIMS7JnVw97NiH05HqjgQ3LD225I4Ys61WPC4Do7Dy0A+Os7CMMpR2zmKPZHiDKWeY3zVklGvGlFTEFFdUNAoDn58LFRrahiCvmm6VynxnN0OLD8Xtqon1FRO7vXeb7w51WxvAbazEbOYdwsGQOOfpBAt9xMCmuGcbpNfTdO64CwgJrSO1wv6YDkPiv64BWAjgahbPF0YzrpRpuInDFRnmJGpzMvbRpZLiV3uoCiB7rjDNw+NhAE8HFDOr4+myi0/erfUySvqLEHG+eFBxWN+7P0/m6Y0KWJoPMcZJpzL6xeZxOo3mnWR1KlfrNqIwbQ3rHEHSljVg5MMsllQlm8fw== 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: xenproject.org; dkim=none (message not signed) header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 06/12] libxenguest: guard against overflow from too large p2m when checkpointing From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Juergen Gross , George Dunlap , Ian Jackson References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: <09e81b91-84de-6e49-9a62-eb3a6f392954@suse.com> Date: Fri, 25 Jun 2021 15:20:18 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR3P191CA0060.EURP191.PROD.OUTLOOK.COM (2603:10a6:102:55::35) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 04bdc782-23cc-4c09-2ae7-08d937dbfbf2 X-MS-TrafficTypeDiagnostic: VI1PR04MB5901: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DXtRdePfNXwE3zIOtKKlitejkoh/GfeED9tKSmxHINOR6uu3J7Z/+Z0PdmsrWReAnrH9YlyAUrRiCmluAsbPvezSj1PtYkrKQV/vX4+aSEHx9qGapO/OXMrB7UWq/4BYeys+N5TldTiFwLnDA4UAlIgwfNU+xy6YUot1FrH423h7wHWUFg/b1/jktjtJYmzXW4lr0LziyjiFdxE5o2BCoeJT1Ddqlwf3smS4E+zU52MdcmaKoLoFma6/E+jFCo6yLzJNmQS8ustV60o9Z7qF0Y8uM3DfM5BDWcz6jbIbXAvRtztBcfqUXE71BQxA4sdXnyrYhGTCwy5sIHDwqaTBu1AhUWnCI7dVtc5IuYiW3XTlcmamXSsKU24ec+R7FOIBHRQ6JQtwjDVeUJVC0DprSW/lZYnCRTDjQjIOk0AWyP8rceeF6WKHVMS3s2gLt2BpPeJ+Cyx3GuBvFB2pNdIVPbLb8nVTkTFMC1QaJ4YRHXyFoeDB3NXzFgkVgA7JoqzfCW8MaBinfuE6FpFH5OYi8LWr12sX/nnTEG4fSf8poepK690+ISzgtEwrzMDQ5yd0uN+SKW68DiZt/wPjVqTohJcTWwkDQiVhNXLUWPUEhQG7Vx89QLbPio2pjnf3RbpAagaw0Ygme1d2tYmIrHqHzMllgS3jG7zSmtPgkoSoGliw6GFlx9lsmfBYd+FC/Jwu X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(366004)(376002)(39860400002)(136003)(83380400001)(2906002)(66556008)(66476007)(2616005)(956004)(31696002)(86362001)(31686004)(66946007)(36756003)(186003)(16526019)(26005)(16576012)(316002)(8936002)(8676002)(6486002)(6916009)(5660300002)(478600001)(54906003)(38100700002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Zkg1a0IvRjBZNXJRN1M1REg2UEFiSUhBOGIvYWgvTjVObUZHbVRqZEtJTEFD?= =?utf-8?B?V1l5WU0vQmdyaENzcmQwUEN6eUhoWVhRYnRSWlc3b0FnZm9KazlrdURGcHcx?= =?utf-8?B?RTFCUFVCWTFZVkRFVCs2QXBVM0pPUVV5NGVYVFhwY3UzRG1KSnpHdWpSVStt?= =?utf-8?B?VmZyOVJFZG5lcEVCWDdINTY0bGFlbHFaRlpGQzJ3ZXV1TGxwem85WWxlYXU1?= =?utf-8?B?SjloRDV5UkJqQ3U4OHhqM0JBNXZpNUxnWExyVVlscHFtSWhzNCt6WnBjSVc3?= =?utf-8?B?enZiVzd3a0hHeXlwRGovYVRPQ3dhZS9MU3FPR0pINE1URlZyckt4OWI3UzVQ?= =?utf-8?B?K0VveG16QXZzbzJwcjVDQTZhK21RRE5xaStvZ0pYMkJRWmJVS0p1R2MxWTRR?= =?utf-8?B?dUF2d0IvN1pYaGxYUFppZk9jNXdGZ1RvMm94RHExWGxEU3FyM1E3dEhaT09r?= =?utf-8?B?Y205SUgyWDFQUk5CMkkza2JoZWVjTmxVYzUzeGY3b1kwN2NzVldOYVlYS0pZ?= =?utf-8?B?VWd0ZDdWcm5XQUNaN0hhVHFmRnU5bnBTQUh0Wjg5Y2ExTVhEVitPUnZ0UnAx?= =?utf-8?B?MHVJRzUzTzhXZENZUXc5RWh3Q3Q1emg3MnVBbzlDeWc4a1ZYSmIxZUZLeEl5?= =?utf-8?B?MGxrdWhXSkVVZWdtaFlvZlVvenY1c0crNDRHY3VNSGI2MlVkMHhPcXhyQzVa?= =?utf-8?B?cGhCaFZ3UU96UytXVUVYVUU5U3d1MXBzOVlhV0YvVnBuOXFKcHNTRU5mOUZv?= =?utf-8?B?RGxncGswc21vR1VJNElSSDJRaldlU1NnSGFoQUVJVjV5TE04RWxtK3BkOGpo?= =?utf-8?B?bTVNT29EVy9HVWhiQTBwbEttekg3aUJONjFSbFh1MUdIdzlIRU91QnNHN2hz?= =?utf-8?B?R1FnMXh4d1lkWjhQVitralJGRnllRjg5bnBxT0dOTnFBVVIrcUVjaG1wWnFn?= =?utf-8?B?aGJJY1NXWFI3TVM1NGJwV0tzdlU2eFFhK3BIbW9hU3g1QjU4UG5JNjU4eGpU?= =?utf-8?B?MnNIUm4xR04zeEJ4TkViWkExRE5zTDNyTkk4ZTFOVEl0ZWpIbmVJRTYrTHVT?= =?utf-8?B?R0dCSm1LNXcvcWNsRE9kaDZ6MzVYMUVvSC9NK1BoZGlwZUFGeHN4WWV2Q3dF?= =?utf-8?B?OFVNQU1ZR09ITGoreVl5bDlhZXR0UHNRaTRwY1BrTWJjazI0b3kwQ0ZnOU82?= =?utf-8?B?Q1YybmRYZmhJVlpRNGhNSTJWS25YMFdORC8xNFRZQ2luWTZ2UlNLLzBacmN1?= =?utf-8?B?RGxrR2lPNzg3cVY5ak45eThFSEFwdVZ1dHJkNk0yN0NUZGZNRWluVGFadHBh?= =?utf-8?B?bitaMHBZMERHc1BPd1YxNkZNTnBWZHo0TlRsRGpUc1VHQnNOQkdibzhOdkMx?= =?utf-8?B?ajJreSt3YndWZ3dCdk1zSVpURlFXQ1Q1SjFicWtabk5aTk8vRGltWEpSajFS?= =?utf-8?B?Q0VmMjU1cHdQT042TzJHUllUWms3aU8xOHllb0xvYWRPeCtZVlBPaGJOMS83?= =?utf-8?B?OTlwK2dPRDI0amZwU3NUdUJBNGNqalJpUUZEd2t0emNHaFc2SkF2RFVqcVkx?= =?utf-8?B?UE9ZMUQ3YzFnR2MzeHdna1R5dHd6Z2dVZ2JOQ21JQ3BIZjkwQUdzdmpncW5T?= =?utf-8?B?RDh1ZXBOVkZTQzVWS1U0aVd3SDJiS1JKcmpEU1VTQS8zZjN0SkY4enB1OThx?= =?utf-8?B?OW05L2lLRm9nUkFhSXo2N2NSME10YmF3VlI1QzRBc1FIRDFDZGgxV2k0QVI2?= =?utf-8?Q?lWKTUi++iS5JP7d3OtGjnURSZsw6yrgrqqlci7g?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 04bdc782-23cc-4c09-2ae7-08d937dbfbf2 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:20:21.7371 (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: EfczbUV+cMkP5OWrj/L/AzEVj36pPSJshbbM1l58I9CNZ+bCxXYSrvASkqEG2soGQDphPGs+dSxs8XKSM//flA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" struct xc_sr_record's length field has just 32 bits. Fill it early and check that the calculated value hasn't overflowed. Additionally check for counter overflow early - there's no point even trying to allocate any memory in such an event. While there also limit an induction variable's type to unsigned long: There's no gain from it being uint64_t. Signed-off-by: Jan Beulich --- Of course looping over test_bit() is pretty inefficient, but given that I have no idea how to test this code I wanted to restrict changes to what can sensibly be seen as no worse than before from just looking at the changes. --- a/tools/libs/guest/xg_sr_restore.c +++ b/tools/libs/guest/xg_sr_restore.c @@ -450,7 +450,8 @@ static int send_checkpoint_dirty_pfn_lis xc_interface *xch =3D ctx->xch; int rc =3D -1; unsigned int count, written; - uint64_t i, *pfns =3D NULL; + unsigned long i; + uint64_t *pfns =3D NULL; struct iovec *iov =3D NULL; struct xc_sr_record rec =3D { .type =3D REC_TYPE_CHECKPOINT_DIRTY_PFN_LIST, @@ -469,16 +470,28 @@ static int send_checkpoint_dirty_pfn_lis =20 for ( i =3D 0, count =3D 0; i < ctx->restore.p2m_size; i++ ) { - if ( test_bit(i, dirty_bitmap) ) - count++; + if ( test_bit(i, dirty_bitmap) && !++count ) + break; } =20 + if ( i < ctx->restore.p2m_size ) + { + ERROR("Too many dirty pfns"); + goto err; + } + + rec.length =3D count * sizeof(*pfns); + if ( rec.length / sizeof(*pfns) !=3D count ) + { + ERROR("Too many (%u) dirty pfns", count); + goto err; + } =20 - pfns =3D malloc(count * sizeof(*pfns)); + pfns =3D malloc(rec.length); if ( !pfns ) { - ERROR("Unable to allocate %zu bytes of memory for dirty pfn list", - count * sizeof(*pfns)); + ERROR("Unable to allocate %u bytes of memory for dirty pfn list", + rec.length); goto err; } =20 @@ -504,8 +517,6 @@ static int send_checkpoint_dirty_pfn_lis goto err; } =20 - rec.length =3D count * sizeof(*pfns); - iov[0].iov_base =3D &rec.type; iov[0].iov_len =3D sizeof(rec.type); =20 @@ -513,7 +524,7 @@ static int send_checkpoint_dirty_pfn_lis iov[1].iov_len =3D sizeof(rec.length); =20 iov[2].iov_base =3D pfns; - iov[2].iov_len =3D count * sizeof(*pfns); + iov[2].iov_len =3D rec.length; =20 if ( writev_exact(ctx->restore.send_back_fd, iov, 3) ) { From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627269; cv=pass; d=zohomail.com; s=zohoarc; b=mTaWLQrXeKdmo523KPJVIn6O9BIuUtxkyMA7xF6JAR+cgxVVpKjtm/TlF3chJHeNpXH+f9e3s1iCsKIY7LKQn8lMIff5D4BSQ70Ut20nwQCCeVgyZU8/BNsU6KHmWHDqwDqlBoc8dRVqr9WM41XCXedYAlzYgcOh3okPeQYSABU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627269; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dvKtEXrYuF/DSgjrdaM5MapZ8LS8e8Zco99pDWWMsA4=; b=Ajj1EHGi2aWMWZn7V5scgF7IRa0ZKRx+4sH7hmdrI3FCSAGPrOckZvqZTUcWrHIVU+JmED+nQzsJSz6kDrVP1vNBw3GCMZwM0+CZ5HWXWLSjPd3JfPFraiHZqI39+Qozi0LTHI4MZwK0SkWwwuGjQwqldoq8Up6TwNHRrEYdSDs= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624627269516835.759617840254; Fri, 25 Jun 2021 06:21:09 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147206.271185 (Exim 4.92) (envelope-from ) id 1lwllN-0002vU-Ie; Fri, 25 Jun 2021 13:20:53 +0000 Received: by outflank-mailman (output) from mailman id 147206.271185; Fri, 25 Jun 2021 13:20:53 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwllN-0002vN-F4; Fri, 25 Jun 2021 13:20:53 +0000 Received: by outflank-mailman (input) for mailman id 147206; Fri, 25 Jun 2021 13:20:52 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwllM-0002tn-3q for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:20:52 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 1b86b4ba-cd7a-4470-9898-3a480f334781; Fri, 25 Jun 2021 13:20:51 +0000 (UTC) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2054.outbound.protection.outlook.com [104.47.13.54]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-38-WP_4OA7iOjy6fcDkb_KXcQ-2; Fri, 25 Jun 2021 15:20:49 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB5901.eurprd04.prod.outlook.com (2603:10a6:803:e9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19; Fri, 25 Jun 2021 13:20:46 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:20:46 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR0P264CA0179.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19 via Frontend Transport; Fri, 25 Jun 2021 13:20:45 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 1b86b4ba-cd7a-4470-9898-3a480f334781 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627250; 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: in-reply-to:in-reply-to:references:references; bh=dvKtEXrYuF/DSgjrdaM5MapZ8LS8e8Zco99pDWWMsA4=; b=c/Q6J/nUYSzwxX7NBA/OMo6A6vGPIdTSW+Su0JtFreuFZ+Zc+t747yrNr29fCCz2me1NdP kMPi3O4Tek4ILFqb0NOv/kqJivd0bBP4HQCk75UIAcQyMjdjuspIdL7fdMW6zQAeNrbvKb HuWE8RH10H4Ec/gEmHHMrrtCF7NLH+Y= X-MC-Unique: WP_4OA7iOjy6fcDkb_KXcQ-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ni/JXLQdRCsYcOxDYex6MwWXkC+IifuACj6K27FusDd9SNwfX48oKUBtnds2IwnHXH07mGA/oy+EBL9nkBT1SM8K9QKZW2IJ1KuDtXTRxjqtS33uGNDYQ55WrAIsSzZoM24uLdWtSwzpbxOQXSNaOnCXenq3i7AVyLJJbcxh8qWCzOigIS6jpVfHB0OGJse4vE3x2dcky/VVroVmwMytsB3AvG0uD4QyrCUORGzcBFm8ahsD1mspDcl4P5dTgKI8JdiDrB+C5XQjOeJUiCdc7mYzwhSEzS/LN+eJSjUc0fgNXQ8+zJUfwN5QcjEHUDDZKR7NHB/sOd7ssBGP7b8r9g== 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=dvKtEXrYuF/DSgjrdaM5MapZ8LS8e8Zco99pDWWMsA4=; b=PFo+5meOm4Sv4mh7wBmEGf71hOSaN4Ohxn1v4QFwI/bXv+CJVaB/JvPdm1PI2lFFsv+AdeOkO6YdXWhNe6Z50hjBNPUC5SOKM4povXMCHDs+AKnJlx0Si7Y5MSk1WUKj0SXh/1uGDP5fIfEhSGWlOrJ12DV8mwgvQpbkWPn88ueiHVn4fLcXi/xmDqfsFJDUtyXZ8hoj/a9MrPdz/YkmioFAD8qw29G6im+gvZ65tUk6ZUsGb3WCTaJpoEJtD1H7a8suFjsJiURATt2L5xxBNvWgj9u8F5oLRPARxKcH+D/pakPkFpQxGmHzPCfbfW/4/zUtJuB+FLsGS/A2ihiP0Q== 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: xenproject.org; dkim=none (message not signed) header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 07/12] libxenguest: fix off-by-1 in colo-secondary-bitmap merging From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Juergen Gross , George Dunlap , Ian Jackson References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: Date: Fri, 25 Jun 2021 15:20:43 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR0P264CA0179.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::23) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4070a9d4-0855-4e2e-bd13-08d937dc0aa7 X-MS-TrafficTypeDiagnostic: VI1PR04MB5901: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:179; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gaRmmRlmj6cS10H2cq4aQfPEKAb/2vgRv5+FiciYO8zj4dc1il1q2g1x7oIql/3twKel/fWtOXMlY1/3m3q1vtfT2U6cQTm6JpjGMIH4XasHBd6c+vhvwfE1fmZNNa+/60Da67fE6iAa00c5QLU72Zmo89h42UPwP1O/cbfkv5W3lwypQcM8PUbpzL6VpGuCL6JmAcVqtihK8cvDLo1wq/YI1+G+L0FKvao6cQusVmgahkA+NKwz3XtCKebC6DskZH1XtO+dL+Mq1LNPN24J3PtuMQUJ/gEHQl/AISRdaviZesE/A7GpeUteOSbHtU/7S5O2Vo3/UytnAwrunVGywHwiyp6LUmSsOs7dif6mtAOz58iOWa0EMfLp9uXRBPDDXkXdeR0VG/geyLwJdX+U39QBBXdRKdcAM+iW/2ILB+J25BBZQeDJpWwC0EED6R1JEBzc6NsxWjNSU+QkG/OAcG6f9Rc/Te+DMRUxkzmpZmmeXSkeqYjcfhhBBvBAonbnH+Xepp4TRDUMlzoFjGqLo4Mvn2NVc6IzcgNfF8GajlkHhEGYo0g6jhkWLrZEnugxFp+9bhbmJdgFJV4OzOFrQMaKEvuL4RKgrvRm8YdR1rCeq9pupdMAod6cEbruWXbCR5KIl6DOOo2RHjLTyvZAhoCB7ULkNW80T1SQTmur8GcRaUyF9fLT2wdDUOt+gAMv X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(366004)(376002)(39860400002)(136003)(2906002)(66556008)(66476007)(2616005)(956004)(31696002)(86362001)(31686004)(66946007)(36756003)(186003)(16526019)(26005)(16576012)(316002)(8936002)(8676002)(6486002)(6916009)(4744005)(5660300002)(478600001)(54906003)(38100700002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MGJhUGszQnJoSFY2WWF2NnhOVzRzQVJMdE5kb3N5R04vbStjcVdWTktZbnNJ?= =?utf-8?B?QUJzTUFlRlNDYU93NUcwWXViQjljbWpwMWRyTzZMUWRuVG5OYUN1aEdpL1BY?= =?utf-8?B?OUptWHpaMUVtYzNHL28rdmVRVU9iSUI2eVhuWmMxOTVqOWZoSHBOWUtLQ1ZG?= =?utf-8?B?QzVCS2ZjQzUwaEs2M1ZwekRVU0hvblJMRE02TW4vL3lVNFE3aDNuZFB4N0M4?= =?utf-8?B?eGVtT1ZMTkpiK3JibjdNZzlqdVhUeU9Ray9SZnE4N29EY1R5ZG1GaDM1SHI1?= =?utf-8?B?bVJWSlloaFVMbWt0S1lwUzIzWjhFamFTeXo3MTQyTWhySzZKalRJUUc0Z2Y0?= =?utf-8?B?MlRpWndZVGZBemEwemIwNG9mcVhFMmgwQWwwcEFMNUM5M08yZWh6RDJSUFli?= =?utf-8?B?bFBreHZwSHZ3dzNqNUxlMHgzaHZ1TzgyOGVSME1MaGF6VUhubHM4NUNmUUxZ?= =?utf-8?B?SXNpbitTRU5xMUZJSTNvdlpBNHhpaGkyZUIrNFYyR2RNYWdjSC80QlQ2a280?= =?utf-8?B?MDFtNXBzTU12S0FOZWtHT0JqT0h6ZXlvLzN3aldPeTNMRWltb21kM0VrZGhh?= =?utf-8?B?Z0pOSENJTzR3bG9BY3h0RjFBdFNaNVY5bWxVOU13QXVVQ2N4MkhOcnVBNGcy?= =?utf-8?B?WWErdGs0MGRZQ204d1FoV0lWR0xsRGpmdDQ5RlhNR2ovTTVxZ3E2VVR1amJI?= =?utf-8?B?NjdxSm9NM2c1ZTNIWWk3L3N2RDV6U2ZsUGV4dC9tK0k2Ykc0elAzSmpzVEVI?= =?utf-8?B?UmZTRmpjUmltdmlhcldhSFNKSVM3ZzZxK29yV2xCTytISGtzcWhEQllDeFVF?= =?utf-8?B?L24wSXJ6Zm83dGdiV2RqamdIQ2RCbnowWXNPRS9oYjB4VDcxWG1Uc2xRbk1j?= =?utf-8?B?dWZhTXU1WnF2ZjBSNEYrNTM3YlRGVVZJUVJoTHhXcG1ubHV0eG90SUdEVGNp?= =?utf-8?B?aHB5WmxhTTZTVW9CU2l5WERncy9xWmJRc3ZtdXF6L1hpL1htNGc3TTNmL2xa?= =?utf-8?B?N2M1bGJnSWpTS21pVHFDZ2k5Ylp3QWdEd0hraWpRRmU0elZseFFZaG1UOXZT?= =?utf-8?B?WC95d3JieGxTK1FpMkZBRGFvM0NUN1JvL1JkTWYxbno0c2RuKzZlanVVM3JS?= =?utf-8?B?cXhOSm92aGNTaEw4TEZ3Q2NXQnJTQzZNempQcFZ2Q2I4UFZ6RmsvMDkzR0lG?= =?utf-8?B?eTZlejNWN0oxY2ZwTG10NjhzWldoQzRWSXUvcy9hSk1rWERFTWNZUkFuY2lu?= =?utf-8?B?VElUeHlBaTM4YjVYRWpsNnpOMXplMjRrSnRqYUp5Z1FIVWVaOUxacFAxWVp6?= =?utf-8?B?TXg3Rit5K2Q1a2pJZzJuU2QyVTFNNjhGd1BVWGxzaFZiSkZzWDJmZWVudUtj?= =?utf-8?B?VEc3NCt2MUpjblVTM2xOZ25WSUp2QkM0d1JkL0pkMFo4aFdWcmEwaCtiZUFJ?= =?utf-8?B?TEdGL3Q5ZGZIQzlBWjIwQ3FLR0JOMWtjYkxCS3I5RjYyNHlDMGo0V2sxV2I4?= =?utf-8?B?MTNhekNnb1pxY1ZlSCs5YWg0QUg2SURFN2E5MmlWZlYvK3hyNzFDTDRRSkxo?= =?utf-8?B?ZU9MQkFkeEJPaWM2MkFlQlJYZ0xlYjBkdGZMQmNKamg5ZnoyNU9lOGdtM0N2?= =?utf-8?B?M2JDY0RrKzVxNkJWcVBmem1tUWUxQTUxY1RtWnprQkN3TVFkbzhlWUk1NGY1?= =?utf-8?B?NHRTWk1iM1QzMk9BNlJvdnByZXo2TTdlTGIveFg5KzhDMjdYZkhqMHpLOHNL?= =?utf-8?Q?o717k4t/vunOPL82vAqfYzcFaCjab/c/CRVwt0w?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4070a9d4-0855-4e2e-bd13-08d937dc0aa7 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:20:46.2272 (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: aqVylmF7/0hpWbws4BBiDivHjPX7xmBt0pkbMRsYH8qk41pmU2YVJhtG4J2phSEhaK8R211biXSUmE4eY0IlJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5901 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" Valid GFNs (having a representation in the dirty bitmap) need to be strictly below p2m_size. Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- a/tools/libs/guest/xg_sr_save.c +++ b/tools/libs/guest/xg_sr_save.c @@ -614,7 +614,7 @@ static int colo_merge_secondary_dirty_bi for ( i =3D 0; i < count; i++ ) { pfn =3D pfns[i]; - if ( pfn > ctx->save.p2m_size ) + if ( pfn >=3D ctx->save.p2m_size ) { PERROR("Invalid pfn 0x%" PRIx64, pfn); rc =3D -1; From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627306; cv=pass; d=zohomail.com; s=zohoarc; b=HD9rwojf9MUzXYG7LTHIQHS6AWF/RofaeGvumuPfn9nzGtU7cP0H3ACKTbtPhdCLOIdk+r6L1o52CBwMP8spyXkoqy9vH/5LA6YGSD4osBftzGJ38FF6BquH6RuE1jMiASkcAkMk/ClDq67MQCnDA0mPSqcwCSoQHl38g8uxVLw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627306; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=wy8FFzMhJLtSUZVcqiSIXfxNx8LKO8CGNT1Vso9BXnI=; b=bUCWU6d9G0sYswVghjEZ6xsvvCvPIKK4q0FHW2bqYj6T4L2pmBgNmLTJJRIcnZQyYhz91j/RMnrQsWSlRGCGG7e0FJ4zUHo0edtEKlsvg7SmE5gE2iuZtEAGlmyer8tBQQ93rRNsKiz0rbqEyZ9u9C5K1yJrA7EGhrKekDXBRJg= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624627306242219.20352786782394; Fri, 25 Jun 2021 06:21:46 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147212.271198 (Exim 4.92) (envelope-from ) id 1lwlm1-0003ad-Tm; Fri, 25 Jun 2021 13:21:33 +0000 Received: by outflank-mailman (output) from mailman id 147212.271198; Fri, 25 Jun 2021 13:21:33 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlm1-0003aW-Qj; Fri, 25 Jun 2021 13:21:33 +0000 Received: by outflank-mailman (input) for mailman id 147212; Fri, 25 Jun 2021 13:21:33 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlm1-0003a8-8o for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:21:33 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 280a3dba-d588-43ab-93e7-58afc64e532b; Fri, 25 Jun 2021 13:21:32 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02lp2052.outbound.protection.outlook.com [104.47.5.52]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-36-9MKHCehGP_eK2JfivLeiCQ-1; Fri, 25 Jun 2021 15:21:30 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB3390.eurprd04.prod.outlook.com (2603:10a6:803:9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Fri, 25 Jun 2021 13:21:25 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:21:25 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR3P192CA0009.EURP192.PROD.OUTLOOK.COM (2603:10a6:102:56::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19 via Frontend Transport; Fri, 25 Jun 2021 13:21:25 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 280a3dba-d588-43ab-93e7-58afc64e532b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627291; 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: in-reply-to:in-reply-to:references:references; bh=wy8FFzMhJLtSUZVcqiSIXfxNx8LKO8CGNT1Vso9BXnI=; b=nqMZWISyAmTsVdNnW38Cn60dfeLZnCDS+dXQNGOT5wDW6mRYL4c9kFfarVezvi5UZUHz50 biPg8TUXlLfLCMAaGWBxkm7PuDRzZcC8zVoITFW54ZRagwU933pjeqYvYmzJjdfLLOQ1Fn 8I7e4zcpQQkpFELwafq3D8qHmlYSb8g= X-MC-Unique: 9MKHCehGP_eK2JfivLeiCQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hITg0nLH8FX36vG+D5jEqUK+gRj4dHHHtjvjWuaI6VG2nGyMEA/M/w7NftCeDa/lDWdk0L/51FHA12J/Rskt87kDwCAZR+0Bpi/4SbfXMbCjd41+HOt6DkwWuz5O2KiBdrjqPo/Bl567Ohhgyr97jgtt4ilOjOcTxzI6gs1Q2VMfNcmVjD2RkwEoY/Fp6NueC8KRjQwsPmdUhWq7YYaKVxGc2H1CAp4DOSlhWUQxCmcP27tJPSjfPsnjvIv6YVFFXWpRVpkZJOoptku58zC+AMmCkY1taq/xfzaPt6kO4CKIWz/pCt5+58Ls4qLLHA/yuOkKdMbtMWCKDItjx7//zQ== 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=wy8FFzMhJLtSUZVcqiSIXfxNx8LKO8CGNT1Vso9BXnI=; b=ZinHXSqxSVhYHFx3OZw2itEst3JyEsRHnobEngK6WPHFDF5Ka9np8Xo78CzcMaPsRYQYD5/7HJ9BDvUmtxTTGI5lpGzMvy7aZ4bN8w0HAIceqJjY3CcI8HGJTCoZTLTfkM6dpgZDOdLaAc4QULArxnAiKf4iLs9L0pCMOetfxtrE7MLY/nSWwfdZD+uQLrqdCkduPyKo9Sj0EX/e5pS9oJB1CVpXX1Pd09KXZf1a6zPRcWiPLjd1ySYSRRaGqK2DZaRV6btblYoCcHiEbmNlAZ3K2AGTKoBNeo2zKnyqoKeYcb+G1TykQl87A9POINdM65zyX+yJ3IJH+t3pkQn/Zg== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 08/12] x86/paging: deal with log-dirty stats overflow From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: <92968d22-f3e2-4eb2-59fe-b1f638c60133@suse.com> Date: Fri, 25 Jun 2021 15:21:23 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR3P192CA0009.EURP192.PROD.OUTLOOK.COM (2603:10a6:102:56::14) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 80f312f3-c034-41f3-7614-08d937dc224b X-MS-TrafficTypeDiagnostic: VI1PR0402MB3390: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:167; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OEJLIWAxy/5iSwwdH0/avC12CnTX3yttMGvS/bAiBhAhsHocA7ZNHHrYTcwG2A38um1RvSGYNf1zWeacaeBNNreIYbDQ7bbNQofUoJU4Gkh7jjhx67nfYasXTJ7vcQRq0hsxqOR3BHfNjyUx56IpW9uF+ZT1JURWz2GuKdIaO8j7Mc+dbXKJ1S6nqvQoBbMHZmWvSu4pOuVZBYZqPfF/gGUgD4v/pLCWeF4+mHd0B8lKx9hB4730zYFAX0dN59N5cgOlpg3M1eBW0J+jPHUYCXF65jDDDwY9y1WGjIJ1cMOF/7ZCyOu2RuSWaSOzZGSiWsTkEU9GN7N24R6EdOFmDAsF2YUnqiIMvCmvF/+BjC1gvFAPzBewGJbZhLhFyBLBQbi2+7B7+X28WFX0Jf/8Lo3DuNOFYu0SrGbr/6voTCreBzHfBF+uzUHgp4PAZzSj5YPDNBYzWXAsAK/3UGr2BG0gH3RRRU6lPbycpGUGzAf7Hy6IvwFLREq5/0UXmQtB7iDK4ebd53yavXnWOeDrqwLDMk0NDV0yWajJOX8VATvwge5Tlzna8vixKKWU5Ni3nE+yrFpbciRZ2zN5i+zc/jEtYCz92627F9cynIWphvdPdSIOip9FCwDFIx6FxzXZROI8bIB4lSjcVFAmAxp370N+qoa4pvc5hdBl6E3nDgbdBu3lsL7b0PqfEcrciFABgx3cs0XDUdaDNoUDcMNjaA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(39860400002)(346002)(366004)(396003)(16526019)(36756003)(83380400001)(26005)(4326008)(186003)(31686004)(8936002)(478600001)(54906003)(86362001)(2906002)(66946007)(38100700002)(16576012)(956004)(6486002)(8676002)(5660300002)(6916009)(66556008)(66476007)(31696002)(316002)(2616005)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WGlMN2ZGd2VPa0NHdUxqMkY1RzlpcnBmYnl1NFBNQlo4b3RjUDJ4T2Q5Z2dP?= =?utf-8?B?U3BqRG1tVEhscmRPd283YkFYYXk4UW9aOWFBYVliSStJdmtqMDdMWGhPYjVJ?= =?utf-8?B?Q3haWmNnYis3R2x1dzVHYXlvQnUxNHVkdzFDeDFweHc4Q3dTT2p0S01PVm9J?= =?utf-8?B?WEtQV21VeFZwKzVzaHptQUN2M2UrY1VLRW82TDJ4STRCVGVROFdXTWVTK0d0?= =?utf-8?B?MnNBeUZacUx0WGQ2ZFNuc3RRd1pvNUZEb1JWNHd1M0grWDByZENXa0cwL1Bs?= =?utf-8?B?UzV2TEw1bW8rM1V5dXV3Tk9TdEJ6RnFUTDB1Rk0vcm9uQ2J1ZVJEak1XVkJU?= =?utf-8?B?bGpKQmt0WkorQnpPZ1JuYnRieXNCbVQzcUt2N3dSd09jVjdGaG5GbytwVkdW?= =?utf-8?B?eEpMMnVTcEt1OTkwNlhNcGp4RTRSQzI2MjJkR0VWYThNWml2WVo2RWN0UytH?= =?utf-8?B?QlN2SWpUbjB5bEFpT3VvaDJGV0g2aWRUYVJMOXpGd3FjbWNYd3U2MVVqNkN1?= =?utf-8?B?bnZWVHVJajJ1QUZ2WnZ1Ymt1dHFLTUs0dXJZN2N0Z3k1SFpZc0FiUmNsZWF6?= =?utf-8?B?dFE5dDRyMFlFUldGL3dVZnZtanU3MEFCNXZVYWFBSDJaVWlGOEF4N0FoQ0d2?= =?utf-8?B?eWtGMTFJQXFzT0hHaW1tS1pHRzdXSVl1SCtXMFNxeGVpZnpiWkRRQkQ4cDZa?= =?utf-8?B?ODJNNVp2M1p6Q2pkMUpBdGhZUjJ5a2wzTjFUUG5JWnR6WjdUL3pPOG9UcEt6?= =?utf-8?B?STFTWUJKclFmS1BuK0thMnhIT0FzSkpFUTVWcGRaUmJuZzN6V1JwY0M3andi?= =?utf-8?B?cURuTlFSVGZmdlZjQm9GQ2pkelZGVFllemVHaG4rZnJWSWRXRzg3YW5BY250?= =?utf-8?B?alc0MEVQVzJGakJlZ3AxMTIyR0g5N1hNaEJwdUZTU0d3Q21zamxSd096bS93?= =?utf-8?B?S3c2T2ZGZU5NMlJGNGFza0NLQ0QySWt3WnFjdXRhUHpoOHJFRTR4KzRpVEF6?= =?utf-8?B?THBFaEk2QldKQ2ErVEFKZ2VqaStqU29Xam94TlIwR011ZFRyQW1RMW16RCtk?= =?utf-8?B?UTJwcWhvWk5uaUJiK096YW1uditNTzBCT2VpQnczNStNYit6TFA3QUxLVmJv?= =?utf-8?B?RHlydnN2bVdBdklyZW9zd3NVMjFKNVlnODU5N0QrRCtESHNoZ0hkM0FnSzBD?= =?utf-8?B?SXdVYkx5Q090cTdvNXdOMVdDaEF3WW9ZdEIrTWc5TnV5ODhiaVF0eFl6eVQy?= =?utf-8?B?bXYzVUVHZW9XeXJibWYvNTg0TTMwS3crVXppWGtMOGpzOFhIckJVYlRzQndJ?= =?utf-8?B?OGRwOHJLRTdhWGYrb2pEQTZPR1NRbUlMM1FIVXNjTFJ4bnpReGlHcGk1bEp3?= =?utf-8?B?SlY5NlB4UTRUQ0hDdmw0YTRsY1Z6VW1PMmlCL2ZJUHVjemRQbmpBYmswUXYw?= =?utf-8?B?bW1oRFBJS0g5ZmV1NGtTZlRwdWdLUCs0NUgxaUxwVHNNdHJrNlVpNGNpSTV2?= =?utf-8?B?dENiQWdBd3JVRzZ6Zkw5RjEzSGE1dlRHY2NtM3FnQUZVMEpiZkE2VDBNSk1I?= =?utf-8?B?YlMvVnJ4bVV0Zk4xM0gxT2tmSlh1YXF4UEF0MWdZZ2FGOU9DMFRJeGxDTUh5?= =?utf-8?B?bEdLa0xaQ0VYVVhtN1UvRUZWVVdISWNnU1djc0tmVnpPMGgvcDVDOEJpMFls?= =?utf-8?B?eWhGaE0vTFFkZ0oxZVZlWUJpNVJpVXY0R3Q0bjRWQUlPWXdOTEVnejJYUGRj?= =?utf-8?Q?kXEyCUHubfcW1tuDAW3bEEy8aHhq7Gu6qwIoEHx?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80f312f3-c034-41f3-7614-08d937dc224b X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:21:25.8518 (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: JMFUCFZ2+7dTIgbJPDM//0gMPrxElBUVvuQC5PBZY2uV6ovHDHJDpspHD3t4nj3WcMpMINm8A4m8r83/7CgTDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3390 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" While the precise values are unlikely of interest once they exceed 4 billion (allowing us to leave alone the domctl struct), we still shouldn't wrap or truncate the actual values. It is in particular problematic if the truncated values were zero (causing libxenguest to skip an iteration altogether) or a very small value (leading to premature exiting of the pre-copy phase). Change the internal fields to unsigned long, and suitably saturate for copying to guest context. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- a/xen/arch/x86/mm/paging.c +++ b/xen/arch/x86/mm/paging.c @@ -446,14 +446,16 @@ static int paging_log_dirty_op(struct do =20 clean =3D (sc->op =3D=3D XEN_DOMCTL_SHADOW_OP_CLEAN); =20 - PAGING_DEBUG(LOGDIRTY, "log-dirty %s: dom %u faults=3D%u dirty=3D%u\n", + PAGING_DEBUG(LOGDIRTY, "log-dirty %s: dom %u faults=3D%lu dirty=3D%lu\= n", (clean) ? "clean" : "peek", d->domain_id, d->arch.paging.log_dirty.fault_count, d->arch.paging.log_dirty.dirty_count); =20 - sc->stats.fault_count =3D d->arch.paging.log_dirty.fault_count; - sc->stats.dirty_count =3D d->arch.paging.log_dirty.dirty_count; + sc->stats.fault_count =3D min(d->arch.paging.log_dirty.fault_count, + UINT32_MAX + 0UL); + sc->stats.dirty_count =3D min(d->arch.paging.log_dirty.dirty_count, + UINT32_MAX + 0UL); =20 if ( guest_handle_is_null(sc->dirty_bitmap) ) /* caller may have wanted just to clean the state or access stats.= */ --- a/xen/include/asm-x86/domain.h +++ b/xen/include/asm-x86/domain.h @@ -190,8 +190,8 @@ struct log_dirty_domain { unsigned int failed_allocs; =20 /* log-dirty mode stats */ - unsigned int fault_count; - unsigned int dirty_count; + unsigned long fault_count; + unsigned long dirty_count; =20 /* functions which are paging mode specific */ const struct log_dirty_ops { From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627337; cv=pass; d=zohomail.com; s=zohoarc; b=Kkck36MuqrW/Rnq2k0Dx9w5MsCfRrHg3tttPv5ZLvFbKHhpu+4k6/dhyT44OuFWDb3dxVaR5kbik5otARMfdjYVVcWAGW6zka4BYNu9PqWUU88b2uJ/5OhPn0AprI9OnYz15dLBImpH7FpNe1mlEdVQf7vULu2FC4ghVqoyWCnY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627337; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=PbQU7L3blROF4Klwca7Ybd+xUlO1Dcp9UzFdRq08MR0=; b=FIDqdaYuXjxuc+ll7P4kI2D0Lxm7GXJLq2T/BXbR1LdG55muX9ytnCdSlw/d0aBlfudHht877DCzisv4s+cbuwy2KaYGdTTBPc0Nweaf/WpcYerZ2yphRsqeaF4UQyzGkxT6140dHAUjCnQBFeBXyMjtwC9wip7ewlQME9N+hPM= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624627337456400.68823671297184; Fri, 25 Jun 2021 06:22:17 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147213.271210 (Exim 4.92) (envelope-from ) id 1lwlmU-0004Gz-BG; Fri, 25 Jun 2021 13:22:02 +0000 Received: by outflank-mailman (output) from mailman id 147213.271210; Fri, 25 Jun 2021 13:22:02 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlmU-0004Gr-7p; Fri, 25 Jun 2021 13:22:02 +0000 Received: by outflank-mailman (input) for mailman id 147213; Fri, 25 Jun 2021 13:22:01 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlmT-0004Gh-6o for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:22:01 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 84cdf138-2e4b-46d1-a03f-d1c54c9931a4; Fri, 25 Jun 2021 13:21:59 +0000 (UTC) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2112.outbound.protection.outlook.com [104.47.17.112]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-19-sO_3WyecO7G_D3lXkY5Abw-1; Fri, 25 Jun 2021 15:21:57 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB3390.eurprd04.prod.outlook.com (2603:10a6:803:9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Fri, 25 Jun 2021 13:21:53 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:21:53 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR3P189CA0033.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:53::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Fri, 25 Jun 2021 13:21:52 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 84cdf138-2e4b-46d1-a03f-d1c54c9931a4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627318; 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: in-reply-to:in-reply-to:references:references; bh=PbQU7L3blROF4Klwca7Ybd+xUlO1Dcp9UzFdRq08MR0=; b=FOGgr17uLUjtBjs2F1/wa4MPF0imzwETTWH+zFDwi2Tdv/dJMxxQ6lkJ6buSqx/YbP/zib sT+2WkKVeDJXemFqkSAFixzT/ZtUKpziGc1x7VCYe9Elaq6wc0BEP6evzdSnT6M6upEobZ a4KSlQoklEWGOgQj6HDHUZb/rPr+2xM= X-MC-Unique: sO_3WyecO7G_D3lXkY5Abw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lsp6pvv3guHOqAtB/HnwkkKJhiFHZ9nC8kgH5RRUCTZ/H09RNWk2/VlNhlkbUhj4AHnMcCTS5BaoMtjOzsqrMHe65BNk+30cx1ZD8cpe2hajYyxd3jfKNZRmNkfFBUUCaS/VP2tFb5kABlVaHv/Tuk4tMlwW+IqYqa8hl5sN1FS1/7ZwKuWIWHdNcmw2FMSe7ZDUXQVZ+lr1tJMbfShD7x4R6nqVuwF67DbGDJRy1OIfmJUXOLtAbI4vSX+sPGyI2D9lVkcbUGVwDvTsBhKkaw5sehMZFihgwAOmaR5yYG9ABx1m3pFfCicx2jBVQcz6ufAKWhlPRhf+1sh60RAGTw== 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=PbQU7L3blROF4Klwca7Ybd+xUlO1Dcp9UzFdRq08MR0=; b=KOux2M4bh0KVcZNpd8aEnLDVwnicoJvv6Rxyxav2/FnGMDdiyDr9nT4TQt8YbvLbpnFhUT3OmS4frnOCjwxlFc7L0Y0J0KtD+UwLL8HXa2K5kKAWUMyW/2QhvpdiIoFNZdlAQBUlwoGzrdYryWsC9OUuWRNiM+WOZxoJaXnB7wBapa1M/S2iczM2ad8dEGYCTeVkNCVTmTv5bEuIAe9wZ7cnNhe/10pLitzUbUfdp/xhY67NnC2o3CWQ87pu6YSaLb4DW6USIG5qfhCNTmksVVOEgZRrI8t0xgmvRQrDHefI1G0BgGL5/UwotyOmiiTZJazikQ3/L5g5CUQdOApAlQ== 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: xenproject.org; dkim=none (message not signed) header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 09/12] x86/paging: supply more useful log-dirty page count From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Juergen Gross , George Dunlap , Ian Jackson References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: <7871d13b-2ad3-2eb4-8148-dbf6a88fdcdd@suse.com> Date: Fri, 25 Jun 2021 15:21:51 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR3P189CA0033.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:53::8) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8a0655b0-48ed-4d07-bdd8-08d937dc32c4 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3390: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7yZyeSDTHTO/a+dgTlW7Lcua7qXCmfqPgcRncxMGQM/mag2RWzjI+ZI5Ar8OPvPFr8P6kj8HK1DDWzb/4+6Sms2FWSnxufkN+NuGi8LnaRATc7ag5RBvpJ7+tFzGEzXKd8hl4dXwNpidAGcACeGHUFOamHXZoI+6Y8B0gYb54/Ki2n/hSomIvbKdq5z5T14WyB47m5SXbH7sH0qLIr+PupiKiZDbeT7Ukdy698c7TOXVeLzfV5girQxB+NPWYYHIUAa6eQJsKUeMQPQXtWdhOB+XOkQ1Cj6dOiPM59SBPLLQ4xF3DmVJGmdC9T8uFw4u4XXQ4RS8/fDC7sgaE5GF1iewFZxmxKe/0tJKJ7rAy9Z2Bn4sSvXCeNWUHlCEX4FhtfdMlIYE8oD0mIicQihQdSy3lFkYSreH9ZmTZKDQJewFVMWGxdu5wHmlIlE6N/p/akfTA3AOYdnQ2i5QBu0NIz8TnPWtuLc1nlYJLDI1e8NHUHLW4A2VZsCOEMBaI+Zeln3wnkGNS9tGxnG0HMmFKMKuxqsU1Y9pHQ37Rl4IVW/VfnoqSVDa3ead5BqwrRzpFDbNSUt+NIw1GE2Gs7g05nLPonLz+rQ0HFgrH+x41pnf0Se9YJTvL21O4xOi0ALHgzn0BR61GPjpSxfo5Z1PENxpNraETnO0dX+JTdNJbOWGa5ySvBYs9OZ96sVNQK9Qmp4xkEzPB6M7T5Sd8oB9PQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(39860400002)(346002)(366004)(396003)(16526019)(36756003)(83380400001)(30864003)(26005)(4326008)(186003)(31686004)(8936002)(478600001)(54906003)(86362001)(2906002)(66946007)(38100700002)(16576012)(956004)(6486002)(8676002)(5660300002)(6916009)(66556008)(66476007)(31696002)(316002)(2616005)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OUQ3RWVJTkxtTGpQZjAwWkt4SW5JSGNBNS9abUI5Rm9HSWdCa2NyK0tRTGJq?= =?utf-8?B?VXBNTE9kRDZnUEJjZEJMZDY3Q2VBcko0bE1BTWFTSXFhbDVFTnFNUXA0Mmo3?= =?utf-8?B?clNmRDQxWXRKa1l1OE1mcng0QXRyOHlpV1h0YXhYcmlVOWp6L0E0ekxrZ3cw?= =?utf-8?B?SXRUNG9yVEhVb200Z0NqSjlmeDVPZlVNbGxqMHNwaHRkd1c5U0tkRTVhVGxB?= =?utf-8?B?MjgzcEMycXFoNlJ4RFVxRzE3L1NLcEl3NTRjTTNZMzdtNzdHeVc1UE1md3pQ?= =?utf-8?B?cUZkUXNCZXNyWFd0SHczWlJXQ3M4UUJodGo0aGNPRTJ4enVCa2pVWk1WQ2Jl?= =?utf-8?B?SUkydGRBc3M3Q3dpVjJLbTg3NG9QQzJLNHVyOXRRWVdKU1M1K3RkZ0txNi9i?= =?utf-8?B?SXMxNkJrQisxbkR3STQyc25Bb0RaVThTU1VPN0g2TzJwYW9IeFp2Rk45WjFF?= =?utf-8?B?cEpncko1a1k4TGFtUGFqVnp2UjQwTGVqZUZVUzhaR2thNmN6TGhValdSWVJV?= =?utf-8?B?RHp3am56TzBVbVBNMkhCeitJQVdHQU9tUG93VHJnWnpmZ3dnQVhUR0FQYVVz?= =?utf-8?B?Um9PWjZRZTU3OXNFMnBuVGxDK01TZmJFMUt1M0ZISllEbXEzcUxsVW1NaWZZ?= =?utf-8?B?REpmSE50ZGJOcTRQc1ZYT2R1WDJEa3MyK2dsRmVmcVIxUVMyNWVDdzRIV29S?= =?utf-8?B?SGdielJBSUtmNkR0aVIvNis1QTdzVmR1M3NKd0JCbzh3N0M3ajBXaVhpcGpt?= =?utf-8?B?NmJ5blM5Ui96VTc2T2h0MlI2bG1qbGc2ckl3Q3N2YUZJVURIYm9sdVBVYUhN?= =?utf-8?B?bVo2M2MyV2RHZExuci9NME9WVUVjNmRvZ051OXNCbGIvUUZKU2RBS29pWTl6?= =?utf-8?B?M09hSjhJakRDS3dlcVo2S1lRYXhOSW5sQ2RhK09ZY2RMeWVxU2gzbFRmclQ1?= =?utf-8?B?ZjZpRXhQMFpFdkUwdGJaUnFpSHdNcFNpc3ZKQy84OGowV2pxQnJTckYrVm9X?= =?utf-8?B?dkY2dFNZck1QTEhXUFM4eWhiOGp0M0ZDYzJvOXFVUzNoMUgwK1hCNDlFZHlU?= =?utf-8?B?UzdhU01ValBRSUdFTVVLa1lweGR3cXpwazd1MU9pZFY0VHRYMGtzZTlLS2Nx?= =?utf-8?B?VERJbHlYSzZzMmlhcE5VaHJYQU8xUE9abWpzK3VGMXF4cHd4bFRVYXp4V25z?= =?utf-8?B?amhXS2g5THFOcW9ld1FkYzYxaWdWclJGOGRBYVZIaTRsMGVhNkRXMFVyaGhM?= =?utf-8?B?V2xuT2FZejRxcGROeDhnd1psYTJ3clNaOVA4enJId1B4b3pkRTZUSU9HdUpV?= =?utf-8?B?Qm5DMlp0WlBjOGIwak4zanhmRXB2L05wNllaQ2pTSzZML0JleVZJZ2U4YjhS?= =?utf-8?B?dEZXamdVb0tMWWUyMXdXYmJjL0tNMGNEa2hVWG1kT1V5bGZNaUxuWU8wQVVT?= =?utf-8?B?ZXBqb0lzUlMvS3RLZ3QyWW1jMk84WWQ3RGpCSXNuUnZQRHptZ25oZzlxbnFn?= =?utf-8?B?SVU2UmVBNVJmZkptMWY2VjhrcTZqd0xCVWxCcEFZQnQ2OE1MNkdQNTA5ZXE0?= =?utf-8?B?dEpGZ2lUaFUrYklKOFRTWDh5U3dTZjJpV1hTRFF2S0dFTnJpaGdaajhZa2gw?= =?utf-8?B?NjE0L1k4b2NCdXYyeC9zTGZQZDZScTJiNi9QZWhEMFNtR2s5ZHlxSmVCTnBl?= =?utf-8?B?ZWJkT2VoTTNydWE2bWhZS3U1bkRFZlF2OElPeGFvWDFQcnpaQmpPZlkrdnpV?= =?utf-8?Q?PR16sI4/17PJajBganMCx8VbwM0ipTxXH1cGfhi?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a0655b0-48ed-4d07-bdd8-08d937dc32c4 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:21:53.5362 (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: /DpKGtYNaFR7pKBjk1Pb0gsK3Auf4aYktG3F+qhF48v3DonqogNFHOo/8qvqAgiPOQrE8z8gG7olEj4uHy5bpA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3390 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" In paging_log_dirty_op(), always update the count of pages field: - if more pages were specified than the guest has ever accessed (HVM) or marked part of the p2m (PV), there's no point for the caller to inspect bits beyond the one for that last page, - if the guest's p2m size has grown in the meantime, the caller would have no indication that it may not have caught all dirty bits. Also exit the loop once having passed the last valid GFN. To balance overhead and savings, do this before inspecting a new L2 table. Adjust libxenguest accordingly, albeit these changes are necessary only for guests which actually alter their P2M size while under migration. They do, however, additionally open up the option of the hypervisor eventually zapping large ranges of trailing zeros from the bitmap when providing it back to the tools. Signed-off-by: Jan Beulich --- Of course this still is far from ideal: At the very least a perhaps large tail of zeros could very well also result in a reduced page count. --- a/tools/libs/guest/xg_sr_common.h +++ b/tools/libs/guest/xg_sr_common.h @@ -237,7 +237,16 @@ struct xc_sr_context /* Further debugging information in the stream. */ bool debug; =20 + /* + * Counts of bits (each representing a guest page), expressing + * respectively + * - obtained P2M size, + * - allocated bitmap size, + * - range actually filled with valid data. + */ unsigned long p2m_size; + unsigned long p2m_alloc_size; + unsigned long p2m_used_size; =20 struct precopy_stats stats; =20 @@ -245,6 +254,7 @@ struct xc_sr_context unsigned int nr_batch_pfns; unsigned long *deferred_pages; unsigned long nr_deferred_pages; + unsigned long used_deferred_pages; xc_hypercall_buffer_t dirty_bitmap_hbuf; } save; =20 --- a/tools/libs/guest/xg_sr_restore.c +++ b/tools/libs/guest/xg_sr_restore.c @@ -450,7 +450,8 @@ static int send_checkpoint_dirty_pfn_lis xc_interface *xch =3D ctx->xch; int rc =3D -1; unsigned int count, written; - unsigned long i; + unsigned long i, p2m_size; + long long ret; uint64_t *pfns =3D NULL; struct iovec *iov =3D NULL; struct xc_sr_record rec =3D { @@ -459,22 +460,29 @@ static int send_checkpoint_dirty_pfn_lis DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, &ctx->restore.dirty_bitmap_hbuf); =20 - if ( xc_logdirty_control( - xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_CLEAN, - HYPERCALL_BUFFER(dirty_bitmap), ctx->restore.p2m_size, - 0, NULL) !=3D ctx->restore.p2m_size ) + ret =3D xc_logdirty_control( + xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_CLEAN, + HYPERCALL_BUFFER(dirty_bitmap), ctx->restore.p2m_size, + 0, NULL); + if ( ret < 0 ) { PERROR("Failed to retrieve logdirty bitmap"); goto err; } + if ( ret > ctx->restore.p2m_size ) + { + ERROR("Guest has grown its p2m too much"); + goto err; + } + p2m_size =3D ret; =20 - for ( i =3D 0, count =3D 0; i < ctx->restore.p2m_size; i++ ) + for ( i =3D 0, count =3D 0; i < p2m_size; i++ ) { if ( test_bit(i, dirty_bitmap) && !++count ) break; } =20 - if ( i < ctx->restore.p2m_size ) + if ( i < p2m_size ) { ERROR("Too many dirty pfns"); goto err; @@ -495,7 +503,7 @@ static int send_checkpoint_dirty_pfn_lis goto err; } =20 - for ( i =3D 0, written =3D 0; i < ctx->restore.p2m_size; ++i ) + for ( i =3D 0, written =3D 0; i < p2m_size; ++i ) { if ( !test_bit(i, dirty_bitmap) ) continue; @@ -739,8 +747,10 @@ static int setup(struct xc_sr_context *c =20 if ( ctx->stream_type =3D=3D XC_STREAM_COLO ) { + unsigned long pages =3D NRPAGES(bitmap_size(ctx->restore.p2m_size)= ); + dirty_bitmap =3D xc_hypercall_buffer_alloc_pages( - xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->restore.p2m_size))= ); + xch, dirty_bitmap, pages); =20 if ( !dirty_bitmap ) { @@ -748,6 +758,8 @@ static int setup(struct xc_sr_context *c rc =3D -1; goto err; } + + ctx->restore.p2m_size =3D pages << (PAGE_SHIFT + 3); } =20 rc =3D ctx->restore.ops.setup(ctx); --- a/tools/libs/guest/xg_sr_save.c +++ b/tools/libs/guest/xg_sr_save.c @@ -74,6 +74,16 @@ static int write_checkpoint_record(struc return write_record(ctx, &checkpoint); } =20 +static void update_deferred_pages(struct xc_sr_context *ctx, xen_pfn_t pfn) +{ + if ( !ctx->save.deferred_pages ) + return; + set_bit(pfn, ctx->save.deferred_pages); + ++ctx->save.nr_deferred_pages; + if ( pfn >=3D ctx->save.used_deferred_pages ) + ctx->save.used_deferred_pages =3D pfn + 1; +} + /* * Writes a batch of memory as a PAGE_DATA record into the stream. The ba= tch * is constructed in ctx->save.batch_pfns. @@ -130,11 +140,8 @@ static int write_batch(struct xc_sr_cont ctx->save.batch_pfns= [i]); =20 /* Likely a ballooned page. */ - if ( mfns[i] =3D=3D INVALID_MFN && ctx->save.deferred_pages ) - { - set_bit(ctx->save.batch_pfns[i], ctx->save.deferred_pages); - ++ctx->save.nr_deferred_pages; - } + if ( mfns[i] =3D=3D INVALID_MFN ) + update_deferred_pages(ctx, ctx->save.batch_pfns[i]); } =20 rc =3D xc_get_pfn_type_batch(xch, ctx->domid, nr_pfns, types); @@ -196,12 +203,7 @@ static int write_batch(struct xc_sr_cont { if ( rc =3D=3D -1 && errno =3D=3D EAGAIN ) { - if ( ctx->save.deferred_pages ) - { - set_bit(ctx->save.batch_pfns[i], - ctx->save.deferred_pages); - ++ctx->save.nr_deferred_pages; - } + update_deferred_pages(ctx, ctx->save.batch_pfns[i]); types[i] =3D XEN_DOMCTL_PFINFO_XTAB; --nr_pages; } @@ -369,7 +371,7 @@ static int suspend_domain(struct xc_sr_c * Send a subset of pages in the guests p2m, according to the dirty bitmap. * Used for each subsequent iteration of the live migration loop. * - * Bitmap is bounded by p2m_size. + * Bitmap is bounded by p2m_alloc_size, but populated only up to p2m_used_= size. */ static int send_dirty_pages(struct xc_sr_context *ctx, unsigned long entries, bool all_dirty) @@ -381,7 +383,10 @@ static int send_dirty_pages(struct xc_sr DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, &ctx->save.dirty_bitmap_hbuf); =20 - for ( p =3D 0, written =3D 0; p < ctx->save.p2m_size; ++p ) + if ( all_dirty ) + ctx->save.p2m_used_size =3D ctx->save.p2m_size; + + for ( p =3D 0, written =3D 0; p < ctx->save.p2m_used_size; ++p ) { if ( !all_dirty && !test_bit(p, dirty_bitmap) ) continue; @@ -526,6 +531,8 @@ static int send_memory_live(struct xc_sr =20 for ( ; ; ) { + long long ret; + policy_decision =3D precopy_policy(*policy_stats, data); x++; =20 @@ -552,15 +559,23 @@ static int send_memory_live(struct xc_sr if ( policy_decision !=3D XGS_POLICY_CONTINUE_PRECOPY ) break; =20 - if ( xc_logdirty_control( - xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_CLEAN, - &ctx->save.dirty_bitmap_hbuf, ctx->save.p2m_size, - 0, &stats) !=3D ctx->save.p2m_size ) + ret =3D xc_logdirty_control( + xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_CLEAN, + &ctx->save.dirty_bitmap_hbuf, ctx->save.p2m_alloc_size, + 0, &stats); + if ( ret < 0 ) { PERROR("Failed to retrieve logdirty bitmap"); rc =3D -1; goto out; } + if ( ret > ctx->save.p2m_alloc_size ) + { + ERROR("Guest has grown its p2m too much"); + rc =3D -1; + goto out; + } + ctx->save.p2m_used_size =3D ret; =20 policy_stats->dirty_count =3D stats.dirty_count; =20 @@ -614,7 +629,7 @@ static int colo_merge_secondary_dirty_bi for ( i =3D 0; i < count; i++ ) { pfn =3D pfns[i]; - if ( pfn >=3D ctx->save.p2m_size ) + if ( pfn >=3D ctx->save.p2m_alloc_size ) { PERROR("Invalid pfn 0x%" PRIx64, pfn); rc =3D -1; @@ -642,6 +657,7 @@ static int suspend_and_send_dirty(struct xc_shadow_op_stats_t stats; char *progress_str =3D NULL; int rc; + long long ret; DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, &ctx->save.dirty_bitmap_hbuf); =20 @@ -649,16 +665,22 @@ static int suspend_and_send_dirty(struct if ( rc ) goto out; =20 - if ( xc_logdirty_control( - xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_CLEAN, - HYPERCALL_BUFFER(dirty_bitmap), ctx->save.p2m_size, - XEN_DOMCTL_SHADOW_LOGDIRTY_FINAL, &stats) !=3D - ctx->save.p2m_size ) + ret =3D xc_logdirty_control( + xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_CLEAN, + HYPERCALL_BUFFER(dirty_bitmap), ctx->save.p2m_alloc_size, + XEN_DOMCTL_SHADOW_LOGDIRTY_FINAL, &stats); + if ( ret < 0 ) { PERROR("Failed to retrieve logdirty bitmap"); rc =3D -1; goto out; } + if ( ret > ctx->save.p2m_alloc_size ) + { + ERROR("Guest has grown its p2m too much"); + rc =3D -1; + goto out; + } =20 if ( ctx->save.live ) { @@ -670,7 +692,8 @@ static int suspend_and_send_dirty(struct xc_set_progress_prefix(xch, "Checkpointed save"); =20 if ( ctx->save.deferred_pages ) - bitmap_or(dirty_bitmap, ctx->save.deferred_pages, ctx->save.p2m_si= ze); + bitmap_or(dirty_bitmap, ctx->save.deferred_pages, ctx->save.p2m_al= loc_size); + ctx->save.p2m_used_size =3D MAX(ret, ctx->save.used_deferred_pages); =20 if ( !ctx->save.live && ctx->stream_type =3D=3D XC_STREAM_COLO ) { @@ -688,8 +711,9 @@ static int suspend_and_send_dirty(struct goto out; =20 if ( ctx->save.deferred_pages ) - bitmap_clear(ctx->save.deferred_pages, ctx->save.p2m_size); + bitmap_clear(ctx->save.deferred_pages, ctx->save.p2m_alloc_size); ctx->save.nr_deferred_pages =3D 0; + ctx->save.used_deferred_pages =3D 0; =20 out: xc_set_progress_prefix(xch, NULL); @@ -702,6 +726,7 @@ static int verify_frames(struct xc_sr_co xc_interface *xch =3D ctx->xch; xc_shadow_op_stats_t stats; int rc; + long long ret; struct xc_sr_record rec =3D { .type =3D REC_TYPE_VERIFY }; =20 DPRINTF("Enabling verify mode"); @@ -715,15 +740,18 @@ static int verify_frames(struct xc_sr_co if ( rc ) goto out; =20 - if ( xc_logdirty_control( - xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_PEEK, - &ctx->save.dirty_bitmap_hbuf, ctx->save.p2m_size, - 0, &stats) !=3D ctx->save.p2m_size ) + ret =3D xc_logdirty_control( + xch, ctx->domid, XEN_DOMCTL_SHADOW_OP_PEEK, + &ctx->save.dirty_bitmap_hbuf, ctx->save.p2m_alloc_size, + 0, &stats); + if ( ret < 0 ) { PERROR("Failed to retrieve logdirty bitmap"); rc =3D -1; goto out; } + if ( ret > ctx->save.p2m_alloc_size ) + IPRINTF("Guest has grown its p2m too much"); =20 DPRINTF(" Further stats: faults %u, dirty %u", stats.fault_count, stats.dirty_count); @@ -804,13 +832,14 @@ static int setup(struct xc_sr_context *c =20 if ( ctx->save.live || ctx->stream_type !=3D XC_STREAM_PLAIN ) { + unsigned long pages =3D NRPAGES(bitmap_size(ctx->save.p2m_size)); DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, &ctx->save.dirty_bitmap_hbuf); =20 dirty_bitmap =3D - xc_hypercall_buffer_alloc_pages( - xch, dirty_bitmap, NRPAGES(bitmap_size(ctx->save.p2m_size)= )); - ctx->save.deferred_pages =3D bitmap_alloc(ctx->save.p2m_size); + xc_hypercall_buffer_alloc_pages(xch, dirty_bitmap, pages); + ctx->save.p2m_alloc_size =3D pages << (PAGE_SHIFT + 3); + ctx->save.deferred_pages =3D bitmap_alloc(ctx->save.p2m_alloc_size= ); =20 if ( !dirty_bitmap || !ctx->save.deferred_pages ) goto enomem; --- a/xen/arch/x86/mm/paging.c +++ b/xen/arch/x86/mm/paging.c @@ -397,6 +397,19 @@ int paging_mfn_is_dirty(struct domain *d return rv; } =20 +/* + * This is used to provide a rough (upper) estimate to the caller of how m= any + * more pages we might have data for. + */ +static unsigned int last_valid_entry(const mfn_t *tbl, unsigned int idx) { + unsigned int last =3D LOGDIRTY_NODE_ENTRIES; + + for ( ; idx < LOGDIRTY_NODE_ENTRIES; ++idx ) + if ( mfn_valid(tbl[idx]) ) + last =3D idx; + + return last; +} =20 /* Read a domain's log-dirty bitmap and stats. If the operation is a CLEA= N, * clear the bitmap and stats as well. */ @@ -405,10 +418,10 @@ static int paging_log_dirty_op(struct do bool_t resuming) { int rv =3D 0, clean =3D 0, peek =3D 1; - unsigned long pages =3D 0; + unsigned long pages =3D 0, extra =3D 0; mfn_t *l4 =3D NULL, *l3 =3D NULL, *l2 =3D NULL; unsigned long *l1 =3D NULL; - int i4, i3, i2; + unsigned int i4, i3, i2; =20 if ( !resuming ) { @@ -479,6 +492,15 @@ static int paging_log_dirty_op(struct do l3 =3D (l4 && mfn_valid(l4[i4])) ? map_domain_page(l4[i4]) : NULL; for ( ; (pages < sc->pages) && (i3 < LOGDIRTY_NODE_ENTRIES); i3++ ) { + unsigned long max_gfn =3D domain_get_maximum_gpfn(d); + + if ( (i4 * LOGDIRTY_NODE_ENTRIES + i3) * + LOGDIRTY_NODE_ENTRIES * PAGE_SIZE * 8 > max_gfn ) + { + i4 =3D LOGDIRTY_NODE_ENTRIES; + break; + } + l2 =3D ((l3 && mfn_valid(l3[i3])) ? map_domain_page(l3[i3]) : NULL); for ( i2 =3D 0; @@ -502,18 +524,36 @@ static int paging_log_dirty_op(struct do goto out; } } + pages +=3D bytes << 3; + if ( l1 ) { + if ( unlikely(pages >=3D sc->pages) ) + extra =3D (PAGE_SIZE - bytes) << 3; + if ( clean ) clear_page(l1); unmap_domain_page(l1); } } + if ( l2 ) + { + if ( unlikely(pages >=3D sc->pages) ) + { + i2 =3D last_valid_entry(l2, i2); + if ( i2 < LOGDIRTY_NODE_ENTRIES ) + extra =3D ((i4 * LOGDIRTY_NODE_ENTRIES + i3) * + LOGDIRTY_NODE_ENTRIES + i2 + 1) * + PAGE_SIZE * 8; + } + unmap_domain_page(l2); + } =20 - if ( i3 < LOGDIRTY_NODE_ENTRIES - 1 && hypercall_preempt_check= () ) + if ( pages < sc->pages && i3 < LOGDIRTY_NODE_ENTRIES - 1 && + hypercall_preempt_check() ) { d->arch.paging.preempt.log_dirty.i4 =3D i4; d->arch.paging.preempt.log_dirty.i3 =3D i3 + 1; @@ -521,10 +561,21 @@ static int paging_log_dirty_op(struct do break; } } + if ( l3 ) + { + if ( !rv && unlikely(pages >=3D sc->pages) ) + { + i3 =3D last_valid_entry(l3, i3); + if ( i3 < LOGDIRTY_NODE_ENTRIES ) + extra =3D (i4 * LOGDIRTY_NODE_ENTRIES + i3 + 1) * + LOGDIRTY_NODE_ENTRIES * PAGE_SIZE * 8; + } + unmap_domain_page(l3); + } =20 - if ( !rv && i4 < LOGDIRTY_NODE_ENTRIES - 1 && + if ( !rv && pages < sc->pages && i4 < LOGDIRTY_NODE_ENTRIES - 1 && hypercall_preempt_check() ) { d->arch.paging.preempt.log_dirty.i4 =3D i4 + 1; @@ -534,8 +585,19 @@ static int paging_log_dirty_op(struct do if ( rv ) break; } + if ( l4 ) + { + if ( !rv && unlikely(pages >=3D sc->pages) ) + { + i4 =3D last_valid_entry(l4, i4); + if ( i4 < LOGDIRTY_NODE_ENTRIES ) + extra =3D (i4 + 1) * LOGDIRTY_NODE_ENTRIES * + LOGDIRTY_NODE_ENTRIES * PAGE_SIZE * 8; + } + unmap_domain_page(l4); + } =20 if ( !rv ) { @@ -562,8 +624,8 @@ static int paging_log_dirty_op(struct do return rv; } =20 - if ( pages < sc->pages ) - sc->pages =3D pages; + sc->pages =3D min(pages + extra, domain_get_maximum_gpfn(d) + 1); + if ( clean ) { /* We need to further call clean_dirty_bitmap() functions of speci= fic --- a/xen/include/public/domctl.h +++ b/xen/include/public/domctl.h @@ -261,7 +261,8 @@ struct xen_domctl_shadow_op { =20 /* OP_PEEK / OP_CLEAN */ XEN_GUEST_HANDLE_64(uint8) dirty_bitmap; - uint64_aligned_t pages; /* Size of buffer. Updated with actual size. */ + uint64_aligned_t pages; /* Size of buffer. Updated with actual (or + potentially needed) size. */ struct xen_domctl_shadow_op_stats stats; }; =20 From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627367; cv=pass; d=zohomail.com; s=zohoarc; b=MnGwCks7FZJwx7j9Y29noAJJ5k/kVqlUyroSI5UgZdkUzMKPNpTWbbCB+1qfI87Hp5skl0D6n04LdIHjAThiAeOzF0BqNx7raMFpnpwKtGxVDzWVafxyvFtf1Jj86JbNmLxM/UhWQRhitq9QW7mjKj4cs4ueSrclg7lrl0+FtE8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627367; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=QpvgoXH+ELyJQft9Bj0N8UohKEfOlbayQ9hVqUJa1lY=; b=OYkBkM+7iGG4vmc9qv/TQc8UBLKO670RwGBUWVGwdgs/Z8id3fdTdyKHNlbKldSdHnix4JOXR0uHDgtBIcxC/qpJt1fP3kbfkAxpWCWLHie/5shaIfYx+QPXUTPHc2zJ3t97DmcUYczYd+eW2JnL8UjHxAoEQtPweXTZCVBm278= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 162462736701636.50108158965429; Fri, 25 Jun 2021 06:22:47 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147219.271220 (Exim 4.92) (envelope-from ) id 1lwlmz-0004u2-Js; Fri, 25 Jun 2021 13:22:33 +0000 Received: by outflank-mailman (output) from mailman id 147219.271220; Fri, 25 Jun 2021 13:22:33 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlmz-0004tv-Gs; Fri, 25 Jun 2021 13:22:33 +0000 Received: by outflank-mailman (input) for mailman id 147219; Fri, 25 Jun 2021 13:22:32 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlmx-0004tF-Tp for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:22:31 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 407cb74d-86c4-4300-b14c-b5c7ff87737d; Fri, 25 Jun 2021 13:22:30 +0000 (UTC) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2106.outbound.protection.outlook.com [104.47.17.106]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-39-_vRuFGULO0ClOZzw-YVGgA-2; Fri, 25 Jun 2021 15:22:28 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB3390.eurprd04.prod.outlook.com (2603:10a6:803:9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Fri, 25 Jun 2021 13:22:25 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:22:25 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM0PR05CA0092.eurprd05.prod.outlook.com (2603:10a6:208:136::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19 via Frontend Transport; Fri, 25 Jun 2021 13:22:24 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 407cb74d-86c4-4300-b14c-b5c7ff87737d DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627349; 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: in-reply-to:in-reply-to:references:references; bh=QpvgoXH+ELyJQft9Bj0N8UohKEfOlbayQ9hVqUJa1lY=; b=YV+4HC5Av4l5R4BnC7lEcaNRXxty2vO7BosBdswMZqj9YbqV3anhENz6jZV0gSsptfCqnz G2yRG/bgMjqsycapLdaGtpVTwdmAWweqJZQGGHZgxoN1s6PWKa6INQDx9qtYieHq2cMbY/ vwbyt7JGj0P254BlXfb6tpPTpxd0gXw= X-MC-Unique: _vRuFGULO0ClOZzw-YVGgA-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HZWde4G1fSO9AiuyLld0MuKlKY//Aj1VwyXj0w44BOTmqGeCvicKQ7idCFXXh5STYYNYKcnjxx0f8D6R2y7xdtzDXu3iwZW8X6qwKd7V9BlvduHN/xaRPlyQJtiRFqnfFFlf06FMeyRttvCV9GlHrs9C1LWYmNzrwz/raBcfx7YCVFsnx0XKmG7XepVjohHa3Fcjh6OcP3uqen0wbIAknri4LGOELdiWqfdHcxYiYIxCg46rtECNmpqmcLLlnCbVOCQSWGl0nl8V6jdLmBISCjyp7O8riINByLgzyPcbCsnIOTU4E4ElKlm/eO6PRlD9P7vR5q/9p0xDwyaDjdzKgQ== 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=QpvgoXH+ELyJQft9Bj0N8UohKEfOlbayQ9hVqUJa1lY=; b=bmq/b7RBQdDh/lkJq+IKtGIIebHfb//vMXuBHMh2YNhVEYuzs/YbpQjW4J4OgttP7bbVH4bB9jXwZWi4sJgA6pUnKS3IPfLEiDMxKmBJbNpNOZibfzxr7K1tBBkpxOCPhjt/FIReen2/4Y3taSyicMuI4ggYo0cHo/7dEavual7xLPzorQa+WiRFofuV/8chND1tPUmne4w7coWqoHdhF8qHnk8piiIviCWrAzpqPJjhZNRy9I14L8FanCS2ZptigcBJE/gZqyKqqfn39H9d8PaaDpGxJyxxcvBWXZf0f0js1+H//DqTPILNOf36DygLwx4CQN0PWg97JMixUCwQUQ== 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: xenproject.org; dkim=none (message not signed) header.d=none;xenproject.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 10/12] x86/mm: update log-dirty bitmap when manipulating P2M From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Juergen Gross , George Dunlap , Ian Jackson References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: Date: Fri, 25 Jun 2021 15:22:23 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: AM0PR05CA0092.eurprd05.prod.outlook.com (2603:10a6:208:136::32) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 448d6dd8-472f-43ed-4d41-08d937dc45d8 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3390: X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd X-MS-Exchange-Transport-Forked: True 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: 9XXUlu3bSNTc01rvViICxPCky6cT+R8bNZWQHxLLSmKQn8VUy+Bo7e00C4n0Collskbwce+iQ9gfqYCkrWJIqM+QGQ413HZyUJpo7DGE3LHsTxSHZ2WvAIa4mRL5hM3hyBTnkdT5+5uafLcm1qdixoUDL/5Q+BjTPQTo2uuvZdYCZMELun3gmCdNHFpuB9c2OOnJBjPLLX5UDWSDBc13UNt60z5KWGVp0qZyuKLjVlpEfKaSo//PCFT1p1aeLNIrOTtgkFDcEOKrbJNXHNJJ5/d8hErMzfaO4bLgxzGnCagQJuuRoexfyyTeYrL+u+d74oCuR1vV0SGcum6BBo1B8jOz1uLFLiNkqvrTxophNnJicr7DvosuwN8Giu06C+wv7gTf9NPXkzvbE7G8dhnOaDrt20ApOyhjkSBwoH65n4JTqBAPHNTgWlrSqY6lbbnIJ1H7wgiN2swuVhgng7PFny4PTW9cPaBq2UCF/S5LW4C3DHcFxlrRMh4u7qy75zmE+j5Iva2nvEY+ayh6DniXYVw9MhhHhnc5bAy6msFDxtHECrXWe91oXtiAiiPnEvCz9jE0KD9gwbpGWC6Hzfrd0JFM187usSHja9/G2y4d6Jgmnjo+vgCaBneau4TSKpLnomVN4t2+0PgL55FLynvfjHNGSAr9pEX2JK/kv/kXOTZ5VUFyrqTQD9zRaMu97WCvI8j0Bf1aXpee0driOAXEfw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(39860400002)(346002)(366004)(396003)(16526019)(36756003)(83380400001)(26005)(4326008)(15650500001)(186003)(31686004)(8936002)(478600001)(54906003)(86362001)(2906002)(66946007)(38100700002)(16576012)(956004)(6486002)(8676002)(5660300002)(6916009)(66556008)(66476007)(31696002)(316002)(2616005)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cXhKdFBHa0JpdktPaTBXWGthZzhHK29mZ3V5RDlXZW12WWtWSTRhRzgvV1hG?= =?utf-8?B?azlRa3BIL21zeHg3Y0h1ZHFXUmNGVEhGanJjYnozRG1wUEc1SXNHU01EMDZV?= =?utf-8?B?VEtUSzZxODE5SUtTRDZFeHlZUWpOekh5Yjlad0JzV2p4ZzhPeDRUQUhZb05N?= =?utf-8?B?b0FzM29DU2x2cFhJcHNGZUtXSmU4anorUEZrMmJEc1BkVGQ4elA2T2Eveno3?= =?utf-8?B?Wlh4T0o2UzZiR1VVZVd5NUpzeXNzU2FMS3RlN3JORFNZTkxidFRKb0pNcEFj?= =?utf-8?B?TGthcDdPZksvN0E2ZlNDbTk3VUdYeVNsanRyZTRjczJKSWc2dkh6ZWlKSlY2?= =?utf-8?B?cHZISzNRY0hQblJpWnZmTzhEbDcwOElOMUljQmJSZzJHL3hiR2JGUE42ZkJI?= =?utf-8?B?QVAwTnJWL2lxS0dzNlhXaEM2dlNyK2NmTnBwbkJ0cVRZeHVFMjFKQkw0MW5n?= =?utf-8?B?YnZ2RkhNVXAweU9TUVk1THdTeTFkVFR5dG5acHlCSU9BMUk5RVpYd1pLVWNU?= =?utf-8?B?NTFLM0FydWEvcE0vRU00RlpRNFhQSGs0RmIzT3ZKK1ozZXJBR29HajBUbHVy?= =?utf-8?B?bVNaVXFab2hBRWhRTVRNaTRIUHBqa1NrL1hXMGhqUVNtSTlhNENqeG4zVGZy?= =?utf-8?B?SWg4TmZOMityS2MwK24zYmttTHZBRnZYK2hJSVRJcm1kbWlFOFFPbnp2bGVy?= =?utf-8?B?YkpGNkRyTElTUDRhRGIwZ1AxU0J2bmhSNWpuaGt4YkVBakJCVEI0T21aR1Bs?= =?utf-8?B?NGpYdCtlRmsxOElwMFVFN2J3M2V6YmhiUmdsQ0tyYWFqYTQxc3ZtREJWWFJW?= =?utf-8?B?YUpHTnI4bUQvL3haOFA2VFFjS2IwanZDa2VSV1FuWWowTUhCNG15TGNaWlJz?= =?utf-8?B?ejB0RVVEMnlPeTVlTGRMSVBhcG5iT0V4Ly95QnVxRExXUGdwVDlmb0djNlFV?= =?utf-8?B?WnVuUkFoNVI5dVBnc2trNkswRStFc0V1N3Nmbml2em5MZkpOdStSZmNJUW1C?= =?utf-8?B?M3Y2NlFZK0s2bFJFTVVhZkMvTVI3MHVxVFBNOXpMdWxDamFuOTdQVkl2V3p0?= =?utf-8?B?OTBKd3dXY1cyLzIrazZBOXNZYXpBTU1BRzBxaTlSenZJMFNmamtGbnBkTFJ0?= =?utf-8?B?b1MwZk1tOEFFaENNRnhLZVpMSXVSZnFKVFlyMEFjNllQVisyNDRIZlJvM1NE?= =?utf-8?B?ZFRsdXN5eGFNRXoxZ003cXhjdzM3ejlCN1lKK0VmZ2pTNkF6cHRKaFd4NzlJ?= =?utf-8?B?TnpTa2pjcW9SSkthQ0k3VHVZRWJCbTB0dko1MzJlcVVzNU9scEd2dG1mL3hu?= =?utf-8?B?TGp1b0F1LzczWXFBcGdKNnVrcVR2VXlVR0t3KzM0N2JRdlZZN1VndkozQ0pu?= =?utf-8?B?emZYQ1d1dVJQMzdwZjdZZFQrbEtXakltWTU0b0NCbXE5ODZjK3NzeXFrQUVQ?= =?utf-8?B?aDY0ajJ5ZmVvVVY4SXQ3QnBmcms0R0FvMU9oZytNbUI3QWVQS2dYWFE3OHZ6?= =?utf-8?B?dWZMMkdaZUFVOTJObURtS3lYWDE1blFXMDZqVDF2alg5c3JKVXJBYng3bHBt?= =?utf-8?B?aEMyYXRxS2t5SkYvNElTOFVJaFBCZlBkV20ybVk3UmV5TzlaSnpTckFiYnM3?= =?utf-8?B?cG5lakhXaVpSOXRBQ3BpSlJSaTFIampoZUFWRE0xTldHRHMvZUF3dFFHb0Uw?= =?utf-8?B?cngxVytKYzRqdGZPTTNuNXRpaFVvWDJTbHc4SXRZTk05MUdRTFdCbWJwcmx1?= =?utf-8?Q?mMwcJ9JTT2Ps1HH5rnZWF7l+3CAIndwowYnhtsf?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 448d6dd8-472f-43ed-4d41-08d937dc45d8 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:22:25.5681 (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: 0QHPS2XwVlHE9yQaHtMD7ZIHAiDzaTh7HZXHphjMRrtd4OHCNnr694flw7cIypbIwH2Jr8ThJGLWbLsHsF/Jng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3390 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" Just like for PV guests MMU_MACHPHYS_UPDATE implies marking of the respective page as dirty, additions to a HVM guest's P2M should do so. For HVM the opposite is als true: Pages being removed from the P2M are no longer dirty at their prior GFN; there's no point in telling the tool stack to try and copy that page, when this will fail anyway (until perhaps a new page gets placed there). Introduce paging_mark_pfn_clean() (intentionally without a paging_mark_clean() counterpart) to handle this. Note that while there is an earlier call to set_gpfn_from_mfn() in guest_physmap_add_entry(), but there's little reason to mark the page clean there when later in the function it'll be marked dirty. This is even more so given that at this point it's only the M2P that gets updated, with the P2M still left unchanged. Signed-off-by: Jan Beulich --- guest_physmap_add_entry()'s error handling looks bogus in this regard anyway: If an error occurs before an MFN actually gets assciated with the new GFN, the M2P entry ought to be restored imo. But of course a guest is still hosed if the operation succeeds partially. Note that I've not even checked mem-paging and mem-sharing code for whether they may need similar adjustment. At least the latters is, aiui, incompatible with log-dirty mode anyway. --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -818,7 +818,10 @@ p2m_remove_page(struct p2m_domain *p2m, { p2m->get_entry(p2m, gfn_add(gfn, i), &t, &a, 0, NULL, NULL); if ( !p2m_is_grant(t) && !p2m_is_shared(t) && !p2m_is_foreign(= t) ) + { set_gpfn_from_mfn(mfn_x(mfn) + i, INVALID_M2P_ENTRY); + paging_mark_pfn_clean(p2m->domain, _pfn(gfn_x(gfn) + i)); + } } } =20 @@ -1027,8 +1030,11 @@ guest_physmap_add_entry(struct domain *d if ( !p2m_is_grant(t) ) { for ( i =3D 0; i < (1UL << page_order); i++ ) + { set_gpfn_from_mfn(mfn_x(mfn_add(mfn, i)), gfn_x(gfn_add(gfn, i))); + paging_mark_pfn_dirty(d, _pfn(gfn_x(gfn) + i)); + } } } =20 @@ -1314,6 +1320,7 @@ static int set_typed_p2m_entry(struct do { ASSERT(mfn_valid(mfn_add(omfn, i))); set_gpfn_from_mfn(mfn_x(omfn) + i, INVALID_M2P_ENTRY); + paging_mark_pfn_clean(d, _pfn(gfn_x(gfn) + i)); } =20 ioreq_request_mapcache_invalidate(d); --- a/xen/arch/x86/mm/p2m-pod.c +++ b/xen/arch/x86/mm/p2m-pod.c @@ -645,7 +645,10 @@ p2m_pod_decrease_reservation(struct doma } p2m_tlb_flush_sync(p2m); for ( j =3D 0; j < n; ++j ) + { set_gpfn_from_mfn(mfn_x(mfn), INVALID_M2P_ENTRY); + paging_mark_pfn_clean(d, _pfn(gfn_x(gfn) + i + j)); + } p2m_pod_cache_add(p2m, page, cur_order); =20 ioreq_request_mapcache_invalidate(d); --- a/xen/arch/x86/mm/paging.c +++ b/xen/arch/x86/mm/paging.c @@ -259,7 +259,7 @@ static int paging_log_dirty_disable(stru } =20 /* Mark a page as dirty, with taking guest pfn as parameter */ -void paging_mark_pfn_dirty(struct domain *d, pfn_t pfn) +static void mark_pfn_dirty(struct domain *d, pfn_t pfn, bool dirty) { bool changed; mfn_t mfn, *l4, *l3, *l2; @@ -290,14 +290,15 @@ void paging_mark_pfn_dirty(struct domain =20 if ( unlikely(!mfn_valid(d->arch.paging.log_dirty.top)) )=20 { - d->arch.paging.log_dirty.top =3D paging_new_log_dirty_node(d); + if ( dirty ) + d->arch.paging.log_dirty.top =3D paging_new_log_dirty_node(d); if ( unlikely(!mfn_valid(d->arch.paging.log_dirty.top)) ) goto out; } =20 l4 =3D paging_map_log_dirty_bitmap(d); mfn =3D l4[i4]; - if ( !mfn_valid(mfn) ) + if ( !mfn_valid(mfn) && dirty ) l4[i4] =3D mfn =3D paging_new_log_dirty_node(d); unmap_domain_page(l4); if ( !mfn_valid(mfn) ) @@ -305,7 +306,7 @@ void paging_mark_pfn_dirty(struct domain =20 l3 =3D map_domain_page(mfn); mfn =3D l3[i3]; - if ( !mfn_valid(mfn) ) + if ( !mfn_valid(mfn) && dirty ) l3[i3] =3D mfn =3D paging_new_log_dirty_node(d); unmap_domain_page(l3); if ( !mfn_valid(mfn) ) @@ -313,21 +314,22 @@ void paging_mark_pfn_dirty(struct domain =20 l2 =3D map_domain_page(mfn); mfn =3D l2[i2]; - if ( !mfn_valid(mfn) ) + if ( !mfn_valid(mfn) && dirty ) l2[i2] =3D mfn =3D paging_new_log_dirty_leaf(d); unmap_domain_page(l2); if ( !mfn_valid(mfn) ) goto out; =20 l1 =3D map_domain_page(mfn); - changed =3D !__test_and_set_bit(i1, l1); + changed =3D dirty ? !__test_and_set_bit(i1, l1) + : __test_and_clear_bit(i1, l1); unmap_domain_page(l1); if ( changed ) { PAGING_DEBUG(LOGDIRTY, - "d%d: marked mfn %" PRI_mfn " (pfn %" PRI_pfn ")\n", - d->domain_id, mfn_x(mfn), pfn_x(pfn)); - d->arch.paging.log_dirty.dirty_count++; + "%pd: marked mfn %" PRI_mfn " (pfn %" PRI_pfn ") %s\n= ", + d, mfn_x(mfn), pfn_x(pfn), dirty ? "dirty" : "clean"); + d->arch.paging.log_dirty.dirty_count +=3D dirty ? 1 : -1; } =20 out: @@ -336,6 +338,16 @@ out: return; } =20 +void paging_mark_pfn_dirty(struct domain *d, pfn_t pfn) +{ + mark_pfn_dirty(d, pfn, true); +} + +void paging_mark_pfn_clean(struct domain *d, pfn_t pfn) +{ + mark_pfn_dirty(d, pfn, false); +} + /* Mark a page as dirty */ void paging_mark_dirty(struct domain *d, mfn_t gmfn) { @@ -348,7 +360,7 @@ void paging_mark_dirty(struct domain *d, /* We /really/ mean PFN here, even for non-translated guests. */ pfn =3D _pfn(get_gpfn_from_mfn(mfn_x(gmfn))); =20 - paging_mark_pfn_dirty(d, pfn); + mark_pfn_dirty(d, pfn, true); } =20 =20 --- a/xen/include/asm-x86/paging.h +++ b/xen/include/asm-x86/paging.h @@ -170,8 +170,9 @@ void paging_log_dirty_init(struct domain =20 /* mark a page as dirty */ void paging_mark_dirty(struct domain *d, mfn_t gmfn); -/* mark a page as dirty with taking guest pfn as parameter */ +/* mark a page as dirty/clean with taking guest pfn as parameter */ void paging_mark_pfn_dirty(struct domain *d, pfn_t pfn); +void paging_mark_pfn_clean(struct domain *d, pfn_t pfn); =20 /* is this guest page dirty?=20 * This is called from inside paging code, with the paging lock held. */ From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627401; cv=pass; d=zohomail.com; s=zohoarc; b=Yu/kpYlcTjYx/+tPhFhXSOgM9WukNWKoWsyk1GKUEtKXO4Fmdupt7IuasKbB0v27fF7ChD5fVjMZ6PNBgRhwYJb3424AD8WSxaQB1Fj0X/ROQJUh5vpMdGOsyS+JhiQ99Cnw/qTzEZDALSqQ+y4PhOU/58kAmd9G1YyJrD3/UuE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627401; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=TOsEQIQ7DC4In8gkn+d6JI6dXDcB4jJx1x6CvkOlsRs=; b=f4LfYcRA29bnxL0Q+JOs0VonryfINXkPmQrWs6JP0i865E8I74Q+zX0odNnTgOaFoYZ5GBS3z94LJF8D1QmZgYG5fi8gu4Im1iz/RdCzbnAGT6q7cb71Lj7OWBVGM3121TMRvA5ZG+Qg8/0Vm9SB8c96LPYvAK49AAfBhGpiaRs= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624627401986762.4254912237881; Fri, 25 Jun 2021 06:23:21 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147222.271232 (Exim 4.92) (envelope-from ) id 1lwlnU-0005a2-1l; Fri, 25 Jun 2021 13:23:04 +0000 Received: by outflank-mailman (output) from mailman id 147222.271232; Fri, 25 Jun 2021 13:23:04 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlnT-0005Zt-Ua; Fri, 25 Jun 2021 13:23:03 +0000 Received: by outflank-mailman (input) for mailman id 147222; Fri, 25 Jun 2021 13:23:02 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlnR-0005ZZ-VH for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:23:02 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 6ecbdc7a-0b1f-4419-9918-bb8ef96ef5ec; Fri, 25 Jun 2021 13:23:01 +0000 (UTC) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2113.outbound.protection.outlook.com [104.47.17.113]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-18-frDSjFXnPK6jZigERtBcXQ-1; Fri, 25 Jun 2021 15:22:58 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB3390.eurprd04.prod.outlook.com (2603:10a6:803:9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Fri, 25 Jun 2021 13:22:57 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:22:57 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM0PR10CA0001.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Fri, 25 Jun 2021 13:22:57 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: 6ecbdc7a-0b1f-4419-9918-bb8ef96ef5ec DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627380; 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: in-reply-to:in-reply-to:references:references; bh=TOsEQIQ7DC4In8gkn+d6JI6dXDcB4jJx1x6CvkOlsRs=; b=a294FYBBvevlEBSopuYlVQqhszzmfSbTE7t9hBDK8N6rywXNcNLP8S+fxayAh6ziWEsi9c 0q9crPVxYmCbTbzzdXVnmploYmvtqKfBtXPC5P5ai0qeRq1LcDamKzneMGb9cgJ27scKiC La1gXC4T5s/hJOT9htu+eT/qqBsBCCA= X-MC-Unique: frDSjFXnPK6jZigERtBcXQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dcTx8zSM+36hmkBn9SkOeA1y9eGzh77AwAiCevfWZFWyqsKahC6oa3Su8EMpfslsbP4aHVclDh2NG+WxE467GiCMry6fEQsrDs1dEVeFq1ZqJdPyoyTkFg7q31K7lD3Jd2BU620dkjrazEOgv8LjwwKa45vD/s7AjY6c7DGPgzzZzade8NFpK8Mh6Sav/Wdr1WMIF4i1tqZk/lof3G9qwZnfaeMmixGal+gjFsXssFg4VCRGq0n7nzxYke5cskDI9LZC4p3/hKl8BVfyvc2ubzyJZifS/FnNQgPQv/wHANfLm9HWBKEeEjZkItMtWsx9aMFk26cjErh/gbCFUvZZZg== 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=TOsEQIQ7DC4In8gkn+d6JI6dXDcB4jJx1x6CvkOlsRs=; b=eqGAmsarqy5g4BLw8UmE2yP/9ADmi6ZcoQKEjyn3SjIHA7s23IAkQQTZvX2Ptr5r5vUifTbqxmQbT5jl8R8Q8vcF1Nj0NHXgOUXz3IRBIj6VHT9Ari5xGPE1fOPQCMAy5WFHowPpy0cd9qoQBNUMJvIe14rjtJnaXAiGbjD1XKtoc1I7rdm6VYTiBBA+hAdT4W5Mp1xXgZs7+C6+UgI/MLMqDSpO+ozM9y4ccJiPrB024dimBcEUYOQ3r3nDrARKo8IpdyhhDbsKUihsVipPiV7kdTUFqW4iIEzmWm7ne4lFokBlDzxZo//gG8s/sjrpOeZ1h7c3//bG1I4EH/wXcw== 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: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 11/12] x86/mm: pull a sanity check earlier in xenmem_add_to_physmap_one() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: Date: Fri, 25 Jun 2021 15:22:55 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: AM0PR10CA0001.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::11) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1ece2f6b-d618-4c8c-3a0f-08d937dc5908 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3390: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3044; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7xyUAR0A/RyvqjdVpfXbO55nZVhV2Nl9kmzv1YUNQjp5k9I9GjwNbRna0aX0hjuUbF6kNvyTx5/5OcMiACRiAkxknMWqjfDsM2qUUqM4bvLJu54Ii7yCNRZKUFYvqUkBi4fSE40SyeyJBp589+FClvzd3e3ALwqXRBRfVG0VaLO6Wid7QsYWFa/XNFedJ7YxZZimJjtzcFbB8NEc5TWC84e8+/AO2hJdlhLExJvldtgrfsOP5JTMHwzytCrkhhoSeyvUEwCFVh216m8QsGURcjGl/ton9NAysRNgYi2VixjaIieLB69mxQbQaSYPv97qRcBz3KaxW17xl5cm9ATCnXKj+k34/jug6g8SKE9OowhuPi3EagnAf6DlETnoc/GZ05yEr5Z/qoaaE6aH5yCp3nzxrJz7qJFD5Gs19/pYuEf3YGO11v3GMyB4PyC5lyuVmTEHVFsUWGb6RYwOuxw92NsQnttrADOiPCVaMZQfFjRU159ntFPQubbeo/4QxHr6hQDcbCQLegi0GbYZeQM7BRi+y12QsPBRAiUGgml/dLm5C8eiJHc0jTKoVRSBHxZt65vQBrY9ZFMDd7cp4Uz22XSfLnHBbKKpDvEsCtYvQASbJVFMAUEckPtr1TCFGg57+k/nedA71Mu9Bi0ActoXu6ot5/MERjrYN461m/EPtKtiMNqu1Fe7mMlZrsZzq5T7 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(39860400002)(346002)(366004)(396003)(16526019)(36756003)(83380400001)(26005)(4326008)(186003)(31686004)(8936002)(478600001)(54906003)(86362001)(2906002)(66946007)(38100700002)(16576012)(956004)(6486002)(8676002)(5660300002)(6916009)(66556008)(66476007)(31696002)(316002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VHRsMEV0Z2kydjZTZTBQTC9RZmNwcUFSQ2lkUHFTS1JLWnk5aTArVytLbUx3?= =?utf-8?B?TUNzcUgyRWl0N0QwZ0lZSkZSODZCTyt4UERQMXhKbFVoNExKOEJjVXFDaWdP?= =?utf-8?B?emdIaHZDbVdXZ2RQVGROdGF4MVFCWnVNNGQ4aWNUNk5qU2tJTnRINnVwQjZt?= =?utf-8?B?RnVjQXJtMmEzVE9NYkFuaXNydTh5Mzl0QUlGN0JrZzNHZWQzMUx2d3FTeVBI?= =?utf-8?B?b2x6bXJ6dE1qd1NDYkhoT3Q5RVgrL1VZSEg4czF0bUNiUzhzSlJMaStpZlcz?= =?utf-8?B?MS92dHZ1eXovUmFZRllINU1uOEtqUlhWQ05mVkcvRGNDRlU3azZWVWhJb3F2?= =?utf-8?B?aGJsdkMxcVpJb1BTanZVUzhWL2ZjWnFqa3h0ZSs2MFgzdmcxM0QyS1NwMUw3?= =?utf-8?B?cWdSR0VzMHZiRTdRUi9NWk1mc09EQlBpWUM1b2IrVE4xMWhLZ3pYcTFWQkth?= =?utf-8?B?bnM2NkhTdWN6M3BuNGY5Yi9tRzdub1ROZ25iNldFdXdzM2J3ZEZUL0E2dEtR?= =?utf-8?B?Z2Jjang4UWpZemY4ekZzTHhETS9XUGZiSy9teXI1d2gvcFhmMStPT3BKMUU0?= =?utf-8?B?OU5NUzdTSWlXb0JoUEd3NGx2d0FLMGlyWHNhb0d1TFFRZ0l6TTEvQU9Eb1VN?= =?utf-8?B?NC9WcDFtdysrWjVMMmltV1VJVW9WWC96dlZFSmNLSjE2YVdyUUwyWTVBRjFT?= =?utf-8?B?YXc5V3dQMXlqc3lZckNiOXVxaFBKWk0zbkx6UDZqUFI2c1JPU1llQXZPMjRF?= =?utf-8?B?TlBUM3BDbGJKVlh1am81elJEUCtOTjdSTmVXMkczT25jL3NoTXdzSDlIRmJN?= =?utf-8?B?YW5mSnNaQndZTURKd240QXA4T0wzSExKNis1czZGZEcva0RtcjgvUldzRUg2?= =?utf-8?B?RlhLRFdhSENheG93N1hXbnJ1ZGpmL3B1bmxOaUZ6elBFRFFjaVdDajlFUzdt?= =?utf-8?B?eUp5cHBUTkpUbGE4STRJYUpqWjdjZ29vakxtZ2UrM0JVbkxocnZDVGFUL2M4?= =?utf-8?B?SVpTaVBqRXArNnVNVUc1RkpsY2VwTWZOeFptOXoxZ2JWczZqOXdRUGp1T0Fi?= =?utf-8?B?TVU1QXZKUXh1N0JUVlRpa0thYTN1d1htcWlIOG5qUTFqK2ErVitGQjl0N3Va?= =?utf-8?B?blVHaHFWYVZydSs2ZERlUWRTLzB4WFFlTW1IdGhSMFJHVDZzaWFXME1Uck5W?= =?utf-8?B?UzgyNzFYYkpuK1hNUGV3cUdTaWRPQ0xDMzFxZTlsckpzbEozRDVKa3Z3d2Vx?= =?utf-8?B?S1FJVmpYOU5YS1pKbDcrT0xESVJCWHVEU3pWYnQ3NU1wQ2FPM0N6Q3FxYnNR?= =?utf-8?B?WVlCdEZ0cExLRGwyTW92cEJTakRpcTFXY0hWbjJVYlRLZU9OczFDbWVNNDdH?= =?utf-8?B?VWlDVzByeGxKY0oySzNTaHJkOE9mMm1obUNKRjRUWHlvWU9PZ0VQOWZRTWw2?= =?utf-8?B?dUorbWRHaHVLUmxzM2RZZnRzMkRGc1UzdTRZMTN5WmVGNVpCdHhTMkhHUklO?= =?utf-8?B?dTRzRFZQM2Rjb1Vyb1BVcjk0RTg1V1FOM05iRHpXSElHeU1wbXNWTHVJNFpq?= =?utf-8?B?aVhuMkpPWTRkQzBTbVB6OHFJZ05obElBYXZEZjNvWjIrVCtBQzZiTU54QzhV?= =?utf-8?B?M1NudVBBL0hlWkd2WXRZcDF5OTNBV25BRVRQbTduZGxnMmh0am9Tby9vSjgv?= =?utf-8?B?OGE5WnBpd3QxK1pkaVBFbjRsZXZkZklkbVpscmhWVERWa2ZDc2I4YjU5T3hF?= =?utf-8?Q?DVIeR4q/txwB1BvyTd5UKFLhTOPuoqxOdnGtUuR?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1ece2f6b-d618-4c8c-3a0f-08d937dc5908 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:22:57.6699 (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: eY9aUD2DFKrcuTfzJRjzpStfP4VfHFj23vi2RhVLzuNtIbgNq+8YsikGeVXm1W3ofXfD7kVIgt//Xy3sw4X31A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3390 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" We should try to limit the failure reasons after we've started making changes. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -2763,6 +2763,15 @@ int xenmem_add_to_physmap_one( goto put_both; } =20 + /* XENMAPSPACE_gmfn: Check if the MFN is associated with another GFN. = */ + old_gpfn =3D get_gpfn_from_mfn(mfn_x(mfn)); + ASSERT(!SHARED_M2P(old_gpfn)); + if ( space =3D=3D XENMAPSPACE_gmfn && old_gpfn !=3D gfn ) + { + rc =3D -EXDEV; + goto put_both; + } + /* Remove previously mapped page if it was present. */ prev_mfn =3D get_gfn(d, gfn_x(gpfn), &p2mt); if ( mfn_valid(prev_mfn) ) @@ -2781,13 +2790,6 @@ int xenmem_add_to_physmap_one( goto put_both; =20 /* Unmap from old location, if any. */ - old_gpfn =3D get_gpfn_from_mfn(mfn_x(mfn)); - ASSERT(!SHARED_M2P(old_gpfn)); - if ( space =3D=3D XENMAPSPACE_gmfn && old_gpfn !=3D gfn ) - { - rc =3D -EXDEV; - goto put_both; - } if ( old_gpfn !=3D INVALID_M2P_ENTRY ) rc =3D guest_physmap_remove_page(d, _gfn(old_gpfn), mfn, PAGE_ORDE= R_4K); =20 From nobody Sat May 4 02:35:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1624627469; cv=pass; d=zohomail.com; s=zohoarc; b=MSW9qLYAa7gVTuyRF8yfh2zzie8bJ1rJ9naBzR74YKtIP6YeHrWEDA1QfnXSlS0ICQRZJsC/0Kg2a4dc5dbV3K7M9gn8MDGrtURMv7d1WAP3u1HAmcC8DAKefKmdvEtEU0KE4r20XXdbCjOL9hEnCsX7aDZEqpqqJ1mjFsV0bUc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624627469; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=yOEUDOPXWP6D4MKSfHeNrHSH9v7EBiETR03v/53OyJ8=; b=YETN/of7YE5+vFQqJSHVYCZqpk5/CY1wXTsfzkPcar/w004v0/bZqJG69VyjzX4Nb2/wftTqZE4R1hv3nXSnS9hHbGT70UhaRix80ZKKT60ofGpJDLhaC8OtEnjc+CmGhPYNYvwYsR25LzV6zhThnMo/1X0Kye/DBh1/F+0TjUA= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 162462746899472.12653766416292; Fri, 25 Jun 2021 06:24:28 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.147230.271249 (Exim 4.92) (envelope-from ) id 1lwlob-0006GZ-Dr; Fri, 25 Jun 2021 13:24:13 +0000 Received: by outflank-mailman (output) from mailman id 147230.271249; Fri, 25 Jun 2021 13:24:13 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlob-0006GS-AB; Fri, 25 Jun 2021 13:24:13 +0000 Received: by outflank-mailman (input) for mailman id 147230; Fri, 25 Jun 2021 13:24:12 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwloa-0006GG-F8 for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:24:12 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id f49d5b31-5609-4204-978c-bfd8d1706e1b; Fri, 25 Jun 2021 13:24:11 +0000 (UTC) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2111.outbound.protection.outlook.com [104.47.17.111]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-36-5pf-YncbPxKDgi77_QYp5g-1; Fri, 25 Jun 2021 15:24:09 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB5472.eurprd04.prod.outlook.com (2603:10a6:803:d3::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.19; Fri, 25 Jun 2021 13:24:05 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:24:05 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR0P264CA0106.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:19::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Fri, 25 Jun 2021 13:24:04 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version 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: f49d5b31-5609-4204-978c-bfd8d1706e1b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627450; 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: in-reply-to:in-reply-to:references:references; bh=yOEUDOPXWP6D4MKSfHeNrHSH9v7EBiETR03v/53OyJ8=; b=Dnagzc9xtafQlITtm31cRE9HbPhk4cNV9JJWMf/6uyurzktOKkbIOOgYyg9UIpcK+yQIcD yyZ6sTQr/JN/Cfurjmd1YSpyCG4zIJS/UGVJYUp57Gyp83+68Kg81koDJcfN5dXJDZ67sh X1zjOVA0Mx3Ltk2zpVKNRK7d/MMgLSw= X-MC-Unique: 5pf-YncbPxKDgi77_QYp5g-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LWNLcs772SYqKrncLypX7Hbq2prV0ORBEEZvLbpiX0bn2lDMC9GFJvebqXumd58bjBtyLFNuum/6MIaq8LU61hN0EbLpDz0JzaP/xpV7JEIdh/VXY8fuHvWkOqfCPp5sQsdBrujTTeE66gmhpBhp7Yk9m/ZXB0HD9qaScWvo7i8yYWxmRzzS5qOIp2Qs63tZCPP19ef1rxo40DZ8cIkFdeQCva/aP+IILy8jHVbotvIJ2l2TEQggSEgEILmRtAMr5nmvxBakIszI91t4Fg9jhmCLn1Lep5dETjjtLm6W2zjl5yxFKfjLtVeTIP1GWzYlJXgpmIgtU2a6stE0GYmarw== 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=yOEUDOPXWP6D4MKSfHeNrHSH9v7EBiETR03v/53OyJ8=; b=DkvQdKY5QOvoUIfMp7Cr3C/ECtG/D01YORQu1zXRIvDUXSCWa0zsUvbqbSgOeshsUjITpjjPA0fhNDMwOZzUQraqwT4psGcFji4LWpdQDleMxobqfmlifKLBwujBCrEbYtvjhiTeaq7sn0OYjncVSLYGKibwFVlCmRmqSryA5PMVlOMBD3okVByjupOjBRUV5qznSthswg4oByymC+ODsIjs2s2u7GR9Jf14ACmP6wIkL4RQZ8WABHbMIMz15fJ493PzS9cIeQO3h4sPSRPZv9p8hKMb2hA8tRj1wZM4ONzwP20bGw1VRGGVUzo+xpmdTBnyo7YEZkexfnXoU8pq2A== 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: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH 12/12] SUPPORT.md: write down restriction of 32-bit tool stacks From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , George Dunlap , Ian Jackson , Julien Grall , Stefano Stabellini , Wei Liu References: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: <03512f29-7a4e-70ff-271b-7d65ed471935@suse.com> Date: Fri, 25 Jun 2021 15:24:02 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: PR0P264CA0106.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:19::22) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 67efd9f3-c7d5-4601-52fb-08d937dc813d X-MS-TrafficTypeDiagnostic: VI1PR04MB5472: 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: HmTChsITZglglCNvW5b7WXbmyPtFaePSxSnPiSqghIVdM1+MNEOXHoCeuK+6HUKuQmrd8ZRylhbmehUIsedUXkPfq3wpDmTM+M13N8zOLcEFQq9tpZI6H7eFGvk3TfmIiS3+tfkBqW4eX5Gs2XaTxkhRcDIZX73r5QR6Jb0/5L0AHfvkMXoh6WSELfBNzsTSlMJVEMnXUADBboWgrNU4aYtN7XlOjAqEb4gO8Bw1zanq2VMkTSWxQfdH0m9w799Gnb22/8PDhOd+mfF2Qh1wvfTZZgVE5lK/LE6yCF2f+HqfXZIFx2afpOBYCQTl2BoKnGGbFDUkKHx+ZElGtjwH1nwgjWlIgNypgt//vENHgJxCJRiI/Ma46fwFgene2Sy1JzTsSIRry6dNorCAKE2pvciyAuDqDirXiVX7kRz4vOAAukL0FvxiU3jnGPCopVDdQ5nWM04SOCKQloaIkH+77ZB0cdJdBUZohlG40pMGBwGW9vLO0HOJxB7nk1z2ON9Wo3wJwVNWT8fAudcteSeAG88JYRzx6KKdH2NKR3XWGIYrn9KYtyT4rin222h9lP/WwwEz5LcuHJ13O6ny4zIGLmkLtrMYhTZLFh8KLOcAeZtIVKZB5KDerFjs6nLQp//F09yYPSGd5rAigG+yFxkKWmns7OgZPxN7HuOoVBkS3TomzXxlN9XhS13r7dP4gTsM X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(346002)(39850400004)(376002)(136003)(2906002)(478600001)(316002)(956004)(86362001)(4326008)(8936002)(8676002)(186003)(26005)(2616005)(4744005)(6916009)(5660300002)(36756003)(66476007)(66946007)(66556008)(54906003)(38100700002)(16526019)(31686004)(31696002)(16576012)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aE0vMnptTnE5dEt6UHZqdlcrTkNWWjY5Zzg0YS9GTlBYWk5PUk5XYXQ1eE1Q?= =?utf-8?B?UE40UCtvS0IwNnZCdnQzRVdsWUxFSXhPb0lXNGJVaTRvY0Z5ZzVRdHRhQWdw?= =?utf-8?B?WlV0bFMyeEV3bWNVQm5wdmZUTjM3TmhCTWVaNmlUZFVETWNmSmM3ZTZUR3A5?= =?utf-8?B?Yjk5citwYlJVTVJIRFpUVDhzTVduWmJoNGRKaVNSc2dHTUZmNzRON25xSU5W?= =?utf-8?B?ZEJtRjhrd2ZsSFQweEphSWZycWdLOGEwUzJtY3EySmk2T1ZsMVdJUDQ4QjZ5?= =?utf-8?B?WEtvVjdKY2V4NlpXTkh4NDZTVFVpS0NKUTRmcVJudmZiRzllYlVGSVZxSmZo?= =?utf-8?B?SDBTeUtHdC9DellzSWRUc2dFSUNDOWN2UEx6M3RySmkzeExqUWYxdVRkSk0y?= =?utf-8?B?eGcwWlJvaU42bjluVldZaVN6eXFCYm4xdUZnbkxhQXdHU0dOWXpveTI4aW9L?= =?utf-8?B?dzJQNXUwV2FlRFgwOUJncHdzbmhrSkFVYjhEdVcrODV2K3J1VytYNzY5NzFs?= =?utf-8?B?QU0xNURJbzVLRTRpOHFLRmk4cGZYaGRmUFdtejhUaXB2ODhtQnYxWWh5OXpH?= =?utf-8?B?Y2hwNEgydXlkcm1FVHlZb3ZNTm8razR2SG5hLzZISzlKZ21LYWFmc0dKc1Bn?= =?utf-8?B?em4waXVGclF6T3NrdGY4ZEtnSzcyb0xDQ1hVaHZDL2pla1lUK2MvcEYzVVZ0?= =?utf-8?B?R0poa3prenlUNnZtbDdRTFZWOGdCZU5mdkN6eUZ4and3UHcyZzljNFlZVlhN?= =?utf-8?B?a1dNV3gvbVpEdWtMVERDOXZjNWduQ3hiQnRTbjVXTEhUNThidllJWkRDcU1x?= =?utf-8?B?cTV6aEwrazNrNkhpRHZHUTE3c0ZnVkdaN3FTL2FlVG5LM29PN1JZZ0c2UU9j?= =?utf-8?B?VTZHMGdLcjltRmFYdklybG9zWkJYZVdCNXBieklYeWhVdHpmcS9STTQ1M2NF?= =?utf-8?B?N1VteC9lQmNoWDJHT1ZkN0ZEa1dQV0VJOFBhQ1E0NEtZekFheXBqQ0M0UWh5?= =?utf-8?B?d3dkQlBKNVF4R3Q1Y2sranZFTHgwNlZRWURDYmY5RWFUTnNjR3FFUlVXTS9j?= =?utf-8?B?QWZMcEZFbHNaQjUwbTBPbWQ2VVpaR0ZNN2E1OUprZUJWblN0YnFiMlQ2bk0r?= =?utf-8?B?M00wT2xXTkwzeVRFNkNwdUdJY0ZYTzZvbFFHUlBWdE1wMDZ4eTNEanhOQVB1?= =?utf-8?B?aHByMnhWTWRGbWRUbVMrYVZiempNVm1EcFVCWXFBSHo4QXE4aU11TFBLUTFV?= =?utf-8?B?NXZRank2QVhiMEY0SzZMcXA2SHo3TU9rMDNwZk9sYnFuNWR5MzQ5RVRQYlpO?= =?utf-8?B?b2hySElQN3dsSEFsSVF1aWVDbllpMGJ0OFVVaE96ZW1CcjQxakhIQ2tvTzFS?= =?utf-8?B?dWo3NHRRbFBDbTkyV2RNQkk3aUhWc3daMDFqL0F1cUpUdVlTbWxBTlhTcGNn?= =?utf-8?B?TmdBK3B2b3kwMWpaWGNZVXoxWThrZGZZaUF1NWlkUkpEa0lpV3dxYUVrOU5l?= =?utf-8?B?VWJaVWdwS3NCVGVuUkxzOXp3RS9ab2l5N0JrelJrdHJjaUtSQ2dkTU5EcXhZ?= =?utf-8?B?TVNEMFQ1bjhSY0ZJVjI1VGNsajBDcEFOR2oxYXBteDBLYnFHbkkyM3c2bkIr?= =?utf-8?B?bTI5YlRsNFZhTVdHQnoyM3FueUIvMTZVTndzOEQxZmVraVlaZzluY1Npejl4?= =?utf-8?B?a3NITlZKbVI1aWpqN0xIVWVXYVgvVmRYbm5wUDVVQXBibU9NYmxid29zbVlF?= =?utf-8?Q?DC336ps/COvePz2IhMnox9yjXP7dXbgF5K2UZ8D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 67efd9f3-c7d5-4601-52fb-08d937dc813d X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:24:05.1687 (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: 7xqoPn1L+vYTCTC9NI2iNEcGHWYmA4ItoFGgU2OXJ7lsVB2gEGIksRwUKASjAonOKzfSUXYfkArFA6eOkotMfg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5472 X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" Let's try to avoid giving the impression that 32-bit tool stacks are as capable as 64-bit ones. Signed-off-by: Jan Beulich --- a/SUPPORT.md +++ b/SUPPORT.md @@ -131,6 +131,11 @@ ARM only has one guest type at the momen =20 ## Toolstack =20 +While 32-bit builds of the tool stack are generally supported, restrictions +apply in particular when running on top of a 64-bit hypervisor. For examp= le, +very large guests aren't supported in this case. This includes guests giv= ing +the appearance of being large, by altering their own memory layouts. + ### xl =20 Status: Supported