From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <010701a14572f148-9a9eb05a-0271-4a88-8826-8c1f122d6ecb-000000@eu-central-1.amazonses.com> Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11022077.outbound.protection.outlook.com [52.101.66.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id C50FC802A5 for ; Fri, 16 Oct 2026 16:02:06 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NQvTWCF+XN2dkeKFHTveJJMguH9jmHOTcgwefBVcaKlqb9cotdbVMsq7/Puqb9Nj9GI7erwMuGq8CUC5R12j6RxoK/X/xZs3nwsJEpAb58iz3ZSwPhNtAEvEB8RnVXJeGAC+zx8N+IUNnJZyL1aCklcgCP4jf5INzw4jXB/0JbNzkCo4WSoZd78ZyJMRIhhKSsCPgHtCfwMao23HMM1CjxUeqbgiTuWzTZ4S35LBEnY/IoWo5Cb9wx8FcmQ2rlMQy/hHcfAXtmrKGv1rQ2uvfHKbLH1ukxaH7LCg0A1QUM3Qh9ih3/hiqXHKCSx1JaW5NPzvAuPrZWOLauOCn4YDHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=I2GGlCQDcLaYxNjCd2nPQ/GYZAGdTThvnA53751Esmc=; b=Gnn6QBBO9ihDYbl3wixmKKKX744mK7OcpWKLOOAQ6tJz5daXTqC6qiM2kfoKGEr9toFOro+1OhlU5ND4IEc2drGVYg+6u8cZPxsuwhyZGoXKa+1WK2R+Qhxs7CcFjWjidiiOWGAI2EIHEi/1Xg/lP7gmmTvkXEWJBfhhiduVPHxtw4UGPstpH/vU8175H6l2fS7kNp97fF2hwPdPhISHRSk6NmmFPbyV8DjjTD1/0CQASbu+7T3Ty5ZkB98QCmPx5w43H0AzFk+htw2zYtMheQaAg7iqdsLwpBFJUM5+dSnUCeTGFBN8pH5MhGVZvFnhCcCnu9a37q7dWY0Dr3ov2Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 69.169.224.6) smtp.rcpttodomain=virtuozzo.com smtp.mailfrom=eu-central-1.amazonses.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=sashiko.virtuozzo.com; dkim=pass (signature was verified) header.d=sashiko.virtuozzo.com; dkim=pass (signature was verified) header.d=amazonses.com; arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.onmicrosoft.com; s=selector2-virtuozzo-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=I2GGlCQDcLaYxNjCd2nPQ/GYZAGdTThvnA53751Esmc=; b=cYdeLk+uMacgYY8OPi1h4aUwV6VSVjgkNZIsTj6caiJumIbBVMwCfvlwTszu+anLf4WC6iAskhw50cKqdujdagn3MvnAyU4/kz4N5uG5eUKabVIR3zrOGWNzL9uYP8ze//Q6rLTDwO28Hq1Q0JMavOdzavqufGFMxWt5EAXp6zU= Received: from ZR2P278CA0035.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:47::20) by MIWPR08MB051962.eurprd08.prod.outlook.com (2603:10a6:290:91::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.7; Fri, 16 Oct 2026 16:02:04 +0000 Received: from MI3PEPF00008497.eurprd03.prod.outlook.com (2603:10a6:910:47:cafe::84) by ZR2P278CA0035.outlook.office365.com (2603:10a6:910:47::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.522.4 via Frontend Transport; Fri, 16 Oct 2026 16:02:04 +0000 Authentication-Results: mx.microsoft.com 1; spf=pass (sender IP is 69.169.224.6) smtp.mailfrom=eu-central-1.amazonses.com; dkim=pass (signature was verified) header.d=sashiko.virtuozzo.com;dkim=pass (signature was verified) header.d=amazonses.com;dmarc=pass action=none header.from=sashiko.virtuozzo.com; Received-SPF: Pass (protection.outlook.com: domain of eu-central-1.amazonses.com designates 69.169.224.6 as permitted sender) receiver=protection.outlook.com; client-ip=69.169.224.6; helo=b224-6.smtp-out.eu-central-1.amazonses.com; pr=C Received: from b224-6.smtp-out.eu-central-1.amazonses.com (69.169.224.6) by MI3PEPF00008497.mail.protection.outlook.com (10.167.240.182) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.522.6 via Frontend Transport; Fri, 16 Oct 2026 16:02:03 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=23yjbh4k34hwzfubhuiim7m4inbd3ick; d=sashiko.virtuozzo.com; t=1792166523; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=xjbQFNuZ4pf0QcTa6lTU96OztoT2FmkVb8Bapyd/A1E=; b=2LyUkP4TIZNSamAYRLswX7TCB/XnK0r/p2YFThfx9BUYrq1QhROBHo9oJaL+0CpL HFzhl4wgHBq6zAlaJTx7X8HrUdPdBDwRnwpkiwW7DRJiQ0eSP6jJHADmGDGi6bt2N4I 3G3lA2+2UcowolwcCrkz0Q+Bino4TCRuQgR073efkuCPblsaMBeQqn9Rm8P+NMQoZW1 Rp3wM+2OV3PdoyrH8WCraQLuIcpxBJuQiZzazVuXBRDNaGB6lHHX6z4VKtYyc5PDZR2 Il8hjvjrvdoAhPBjKKd8NwTahmrZ5Y4a15EYe5CU/eALyxazRvStt7D4kM0V4cOPBw9 AiEr/xvdCA== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh; d=amazonses.com; t=1792166523; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date:Feedback-ID; bh=xjbQFNuZ4pf0QcTa6lTU96OztoT2FmkVb8Bapyd/A1E=; b=jg0P6vzk1czPHoFzP5jZ5LeZXQPlhmBPdQs7GH3ZXwiX52N1nJpmMw3pgWjf7pvy ZIznZ5rczdXjZcpOwWpVZlDiFchKBUCifaus1r6dz+DZc0WHAm5qcupffeF1TdsrRw/ 2RnndBV5u0NNYJ/43nyFXVhRRI2hOFze9c6ClSlE= Message-ID: <010701a14572f148-9a9eb05a-0271-4a88-8826-8c1f122d6ecb-000000@eu-central-1.amazonses.com> From: no-reply@sashiko.virtuozzo.com Subject: Re: [PATCH QEMU HCI-8.1 v3 27/28] VZ: vfio/region: preserve BAR mappings across cpr-exec #VSTOR-103860 To: svt-core@virtuozzo.com, Andrey Drobyshev Cc: andrey.drobyshev@virtuozzo.com In-Reply-To: <20261016-vfio_v1-v3-27-47487cb5a8e5@virtuozzo.com> References: <20261016-vfio_v1-v3-0-47487cb5a8e5@virtuozzo.com> <20261016-vfio_v1-v3-27-47487cb5a8e5@virtuozzo.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Fri, 16 Oct 2026 16:02:03 +0000 Feedback-ID: ::1.eu-central-1.2wRQJBpg9g1fGRYexx3dUuYGS25Bux+2TEOx72/m6U4=:AmazonSES X-SES-Outgoing: 2026.10.16-69.169.224.6 X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MI3PEPF00008497:EE_|MIWPR08MB051962:EE_ MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 13e19b36-5d82-493a-13ab-08df2b9ed209 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr X-MS-Exchange-AtpMessageProperties: SA List-Id: svt-core@virtuozzo.com X-MS-Exchange-Transport-Rules-Loop: 1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|704161411799003|61400799027|376014|48200799018|32142699015|9140799003|4113699003|5113699003|55112099003|10067099003|16102099003|18002099003|22082099003|261009223027099003|4143699003|56012099006|5063699009; X-Microsoft-Antispam-Message-Info: IVl+8AUqwnwCcZnmCwvt/vnm6fm1+ZH7u2SGImEdkbYsVkjO8KwjigsNEpAupFK1NJ0aZS0kHy3LN/8yBHXB6vdhsM7rILCdSKg0AQbnvbJirgxOWKj5B8UQVP6/rEXi2dAAw/WSTQLLUMxEkd3/GAf73mkY/vPUuZpZrDKSSFwem9/a3GbTV3S7cH8oJ/N1ab05qPcS/lEO8lVKiTLl2Jynnoan6Rr0QFI6wLa8WYzysofpNwtpW517repW7I2+Wa/i5HyFZB0BsBbbKmtH9rTdVGpfEtzLShKIrmcxgcWBcuzlKGdHfimLSl7CfiQKkxZcV5MdXcxJ3+Ofn5pehvIfJRLVKOAF9uwLVz34Vz1HLCMadMKwhqhOI08EGn0k5C1AByJpTpw34CMImCaNDjTVpB6TR6xuvsYA+JfL+xSAocC85et18lBUrWKr0L2BBLgaMgtan+N8DVO2IH3NmrbDlq2sQ6Q5HqOMAVDTfJt+zQI/XCPxV4ypM1kL5KVeUTPGZzKd5X2+rLpWDcG7xV7mi5P0JaKU+g33qGjUFZ0/serI1mKYoSL0Y3jn2OkjQNWe771Vw52X/2Ch8kpIJaNs4/zHpeFBQZYR26LbfSTiXl3oB5DWP6fjoDhUVvQgMgcEJLOvS9PuUA33H8JDtFamKoxCEN4RgLZN6VTtewZ2ccVpXqM8zDForbr587Be7LLCCXiB5xl4FoHIi0niHWxiixpghn3qrDF1OIwt6DKwH4yf+9l3jo6P0tdlYrI5PKwcaIKmjAA0Yfx64ZDPzdhx87tb8XGGXUctHx7MP9QdYGjtj5K5us5fQgIdjB/hHXfALYsrlmVx4J6XlLdf9kx8rJy+9bOi3GtBvzdr57tVefs4ZNZV0R1s5igPG+yNPIDelqR/DgRpzROVL881C3eQZMOYTHacS61o9YAshjg= X-Forefront-Antispam-Report: CIP:69.169.224.6;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:b224-6.smtp-out.eu-central-1.amazonses.com;PTR:b224-6.smtp-out.eu-central-1.amazonses.com;CAT:NONE;SFS:(13230040)(704161411799003)(61400799027)(376014)(48200799018)(32142699015)(9140799003)(4113699003)(5113699003)(55112099003)(10067099003)(16102099003)(18002099003)(22082099003)(261009223027099003)(4143699003)(56012099006)(5063699009);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: h2Wvir+2gbuoCDnb4sl8XXbTM/43rZUcN2nFTu6P6ZcLUNrK2PHIMBEmE0WkfkOdwC4LlNRI6kkdMsrFUm8I0NKHQzzIHPrZjD1PYq7O9jeYu9k/gpATnbT5WYmKyGZG1rLKg26XcKldGA1qye0pFfDpcgaLfIz1jU/AvtoUz6F8aUzSTxqiLQCNa0VCYtLiN9K+al27rh2LxDySttLx3Y80eFnI2iTlR7wst8AgP9p25hXmwN7VhIEe8DR66r2+aZ3RdrbWGKWvbefnpgTR+X0DANXnNoiQFh0M/aZq+OU1VIC/Pev8Bnve9LCoVYakibBEkCSLEpj9IRz2pErEGMhvDCjlulm0cq8aZpFQ1AIU9Z+CTDVicX6kilQM9g1//Ul44INqFcZ+RSEG8DUEz8ArJZfYiBl+x5wPvGLCjfD3GmdwleZ7+7y9yddoju9u X-ExternalRecipientOutboundConnectors: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2026 16:02:03.7814 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 13e19b36-5d82-493a-13ab-08df2b9ed209 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: MI3PEPF00008497.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: MIWPR08MB051962 Thank you for your contribution! Sashiko AI review found 1 potential issue(= s) to consider: - [Low] vfio: vfio_device_attach() fails during migration/snapshot due to n= ew blocker -- commit c60b9a0f169a17999aea7d76e3213dbee63fd377 Author: Andrey Drobyshev VZ: vfio/region: preserve BAR mappings across cpr-exec #VSTOR-103860 This patch saves each VFIO BAR mapping in the CPR ramblock list. After cpr-exec, new QEMU reuses the saved mapping instead of calling mmap() again. It also adds a blocker so cpr-transfer is refused for VFIO devices. > diff --git a/hw/vfio/device.c b/hw/vfio/device.c > --- a/hw/vfio/device.c > +++ b/hw/vfio/device.c [ ... ] > @@ -464,12 +464,32 @@ bool vfio_device_attach(char *name, VFIODevice *vba= sedev, > TYPE_VFIO_IOMMU_IOMMUFD : > TYPE_VFIO_IOMMU_LEGACY; > =20 > - return vfio_device_attach_by_iommu_type(iommu_type, name, vbasedev, > - as, errp); > + /* > + * Only cpr-exec keeps the address space and so the region mappings, > + * see vfio_region_mmap(). A cpr-transfer target would have to map = the > + * regions anew, which some drivers (NVIDIA vGPU) refuse. > + */ > + error_setg(&vbasedev->cpr.mmap_blocker, > + "cpr-transfer is not supported with VFIO devices; " > + "use the cpr-exec mode"); > + if (migrate_add_blocker_modes(&vbasedev->cpr.mmap_blocker, errp, > + MIG_MODE_CPR_TRANSFER, -1)) { > + return false; > + } [Severity: Low] Can this make vfio_device_attach() fail while a migration or savevm is running? migrate_add_blocker_modes() calls is_busy() regardless of which modes were requested: migration/migration.c:is_busy() { if (runstate_check(RUN_STATE_SAVE_VM) || migration_is_running()) { error_propagate_prepend(errp, *reasonp, ...); *reasonp =3D NULL; return true; } } migrate_add_blocker_modes() then returns -EBUSY, and vfio_device_attach() returns false. So hotplugging a VFIO device during a migration or savevm would now be refused, even though the new blocker only applies to cpr-transfer. Before this patch, attach did not depend on migration state for devices that needed no blocker. Is that behaviour intended for this blocker? > + > + if (!vfio_device_attach_by_iommu_type(iommu_type, name, vbasedev, > + as, errp)) { > + migrate_del_blocker(&vbasedev->cpr.mmap_blocker); > + return false; > + } > + > + return true; > } [ ... ] --=20 Sashiko AI review =C2=B7 https://sashiko.vzint.dev/#/patchset/20261016-vfio= _v1-v3-0-47487cb5a8e5@virtuozzo.com?part=3D27