From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11020117.outbound.protection.outlook.com [52.101.84.117]) by lore.virtuozzo.com (Postfix) with ESMTPS id 5A3E88015C for ; Fri, 11 Sep 2026 10:56:24 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MPAIwkDpTNNPt4ulqMS0bA4us3d6FjE2iCOsvVIauQ7jdXyNGTdwr/gxz+eK2NmikfZNIOi3vChy5eBWKhdCROS+pZ96g1xFgAv/RRtMULTJYM6htCbKBJ/ayyP/aYcS4QxKKvLSEXGGQf917f3bb4DKsqwHzdqbtQ9EUwdIw08eFHX8A8dQTcLlSMnuAdToCcGUh5kEN/aBX1YjdHWqcfuPXCbqZxF+iLtjbHOOYyqjImOlXb//3R69ZuwPmJZIAeoDVnSpf6AcZRlVideIleWFYii8Y5c00Pr4kl5Vu0BFFxB9Q6Ar+8LJORXUf5IkyAFn91QHtNl52z3GHx131w== 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=uR//o6eUBRa2HpTIF6wRglt18MnDzU6itWHIVnJj6So=; b=M479iuUI8UEPv2WXo9sc+4VUozpltbpg6xY4FTcBgJYdJDExzyw8GkwjyRXWnI9Cv3ED7xoV8I7OJR+sYGxE0txc2JelUQ7dviSeTGYBX4UhbAoYQvWrb+8Gb4GR1tz7Cy+7dk6U+dM3hTkoCexSrBkHKdPK03HE1hlJQWqjm/JCyYJ2ggmNjWVAc9QIrk/d5E8NtxHN4As6LiWiUKHtePzV3iF2JlSdKyD+2P1pfGLKT973oqnQwuvNPVDUexr3sx8bl+JyAAmYKwfQkidX+n5Kub3ZDu4S8LFYaOGeSB5g79m2+LD0qn3etb7eQZlNhWdPEWWXwuSo9JyzzttuQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uR//o6eUBRa2HpTIF6wRglt18MnDzU6itWHIVnJj6So=; b=zXUrPyiItIXQSBabVDlpMdANe53nmAldUfqdTxBQiQ5ZBwvFBeP3fptkFmsU31VzPUi3lll/73PaNWQQaLI4N3wX1rW0kB9Gprrn2XwmrRRlVC6+vV4sFE7KQDbIZv3+o6X9iOeHPKLsSEkNAHKiMmVsSrFAbW8jv6thcJO9fQWlpKZge+Qpt2DM7Mc3Dx8k0NnvI77EeCn5tUDvj4gGWmHSxzzOzNX7W/b/0xM9l45WRlvVlSVADAsTx/VAO4jkBc3fbOylZOARMdICieCKYIDJeCt6Bgkjxpis0Ep1x1sUulmMN6J8RVB7mcU4IPkPldM19RybCiqTkvYAk7OWkw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) by PAXPR08MB6639.eurprd08.prod.outlook.com (2603:10a6:102:154::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.7; Fri, 11 Sep 2026 10:56:21 +0000 Received: from VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8]) by VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8%7]) with mapi id 15.21.0406.005; Fri, 11 Sep 2026 10:56:21 +0000 Message-ID: <41459048-8a8a-4cf0-83ec-db89432c6822@virtuozzo.com> Date: Fri, 11 Sep 2026 13:56:20 +0300 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH hci-8.0 0/2] pci: batch memory transactions around mapping updates #VSTOR-129348 To: "Denis V. Lunev" , svt-core@virtuozzo.com References: <20260910203243.2346410-1-den@openvz.org> Content-Language: en-US From: Andrey Drobyshev In-Reply-To: <20260910203243.2346410-1-den@openvz.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR4P281CA0359.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f4::19) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|PAXPR08MB6639:EE_ X-MS-Office365-Filtering-Correlation-Id: 7225bcd0-50bc-4a4d-04b4-08df0ff35090 List-Id: svt-core@virtuozzo.com X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr 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|23010399003|1800799024|376014|366016|10067099003|5113699003|18002099003|22082099003|56012099006|5023799004; X-Microsoft-Antispam-Message-Info: IU6jucHu0/kIZVyWUB0zCLwvqPXcybZxjrdwP1AXmEpRU/LcMxHRIFG/Ylu90p8V2eZ9h6tWl/MF/l7+7cJoPo9SrnlOlrrvkVBQEECdqvil4nWjVDtEPNlX2cdUJvqs9Kjl7DkWUiBtGkmWTCXmUHh5y1M4WAyH7aZa73coaj/FKfy3XGCXhr2uAnQUQP+cHCJ9c2FhmHCPxcYxBiL8hg9pVEJOGNb1IHazijAeiYkL3D/myxJInDCacknNX7aYqQN+2WghwcN6rMFmHmrKZRUoUEE+OLZjZl4hctf/i7UtAQAdRlq0p9n9DfZDtxGYXR04GIwe/cXBtdNCIoDMtd0almTgAfbn3C9JuO+H+HdNcVtP/2/3w1+cixOqA5EE6h2TYG07J29DsLdVebl9uU13weQqbsIwkwtfPeMWal96+WtRBqn0yqTRI1d2gUogu9EYQA6EU+7WGrY/OpR7meSQ3NA3IEdRt8qrsiugOmi4rgVqqf837M/PfPbjsJuORMgAzPX7KXPR43GxzRt+2qIuFmtSifSjMy+jbGD/6kbZ+LwDdLum8wB1ldHEe0sY4w8ZrF71FbsFxkuawvi0q/eWa1z7I22zxJfN4E1/QeaiVyuaBcVW/Jd4OZ8PmykYWcpr7QWrkJm7aq9oeSmD5emMg7ttNGyM/lMED6Ic8+A= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI0PR08MB10656.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(10067099003)(5113699003)(18002099003)(22082099003)(56012099006)(5023799004);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MEdaWUdVcmtNSWM5ZFY2R1FCSitQNElSbzB3TTZiZTg4dEFXam5Sb2JaQTBR?= =?utf-8?B?MlF6eXcwM1ZEZkxjYlNZRFlnSmJ2YkE5K3BUQ2RlRG5FNEFpaDVQUFZMUnJO?= =?utf-8?B?cnJFZHdvYzNVQUx1aVl1dHVJRm5NV3dFVTZCcFljVEs3UFBTWGF3WHV2Y2FO?= =?utf-8?B?cXNTS2gyR2Vnak4xVkZNakkzWTFhOGVRcVFpWHl6MTRHSktiNXpKSE52NENq?= =?utf-8?B?ZVdqRGk3ejVkVkdycnFIWm1XM21GK2EwM1g2d2ZnYVF4NHZPUHI5M0hYb0JS?= =?utf-8?B?VXl5SUNhalduSGtGOXFQTHJYTlRIWXJZbXpTY0RTci9QVTBNdUN0N3djajIz?= =?utf-8?B?WHRWYzF2aWRFalpLY1drY1FyMGxBaFdUSzROeUU4bG5HQUNma0FyNDhkczQz?= =?utf-8?B?aWk4WHExeW1wZ0lucjZoQm95Tm1XTXBPTVlobTA2WUpMQjJqNjdYbVBzUDhK?= =?utf-8?B?dDcrU2JObGQ0Wi83QkFlNUxFWEZnQXRuZEpha0IxalVJVzFuR0RrOC9GeFVJ?= =?utf-8?B?SWJnODR2bzV0ZVdRNHdHbVFOZm8rMUZtSm1IQ201S3pFK2VqczNaVk9YZmp2?= =?utf-8?B?TFpiV0poZWc4Ny8yK1dIYzJ6SHNZRnRaTDBhcCt2eHpRM3RHYVVPSEtJSWg2?= =?utf-8?B?bWVObkZ3aWFqK29BMTRGcTJaaFMzUEpsZlpucWFxWUJTVlNwdlZtK0NpTHZJ?= =?utf-8?B?QVFYNHVHV3YxYUdTdjdtcG1SYUxiWXhLS3J3czlBbGEwSGVqSUtEUUdBSTdY?= =?utf-8?B?TWZ4dHJOdkY1ejJtVlE1eENDR09DT0Z4NW91eFBSNFZVNHlGblNTNEc5TWxx?= =?utf-8?B?UkIvanI0VUY0Qm1TTWZLMzVxOFJOUzR4dlZCZ2k0Y3p1Wk5YTXBWNUJrT0NT?= =?utf-8?B?eXdseit5TW9HTTBaSzZHRmw5VmZaRGVQRURwZFJPYndvN3Zqblk3anQwa0Uv?= =?utf-8?B?QmZybHVadjl1ZWprdTh4cmRleGFOUjFCVkhPUldBUjNnVzNuQWpvMDJtVVJa?= =?utf-8?B?aDFSMCtSUHFaVGZXajFGWklJU0t2ZHVnVkRveHB5NE85S2swbFZtV29EK0g4?= =?utf-8?B?R2pZSG5GUjBKYmtCTnVGdlllTlNTVmtsMGlUSzcxZS9HQXA0ejB6NElyUUIz?= =?utf-8?B?Q3pzV0tIZnAyckM1czduMUZtdmdNYzgyTU8wZXlpK0REaEFTTFNJek9HY2o4?= =?utf-8?B?Y3dGVkdRWnBpS1p1aVhXd1ZHVFk1K3ExV3Q5RlZRQmxQQWpkUm9jdVI3N0xU?= =?utf-8?B?WDZNWWtTUEc1Qms5OE9vQVFGQjI5aUM4N2QrMTUxTlUwUCswZXlVUzRzNzNi?= =?utf-8?B?a2VLb3hkMmkvV2NJcUdJODFaeFVVKytFblF1YW5ja3Y3VTM2QjRlQThTcWs4?= =?utf-8?B?TmtSZUdNZXloWkx5cWNKVlJBS3ZVVmxqcUZjdExIbEFzQUFENEdraDM3dnUx?= =?utf-8?B?VVRMRzJ4d1dWbm9KL0YxNHo4QkJ3VmdTazhFY0hJM3lJWXlaNExIK3RtaDlK?= =?utf-8?B?em5NZ1VvYzV2Nm1nY0ZXcEdQbXg4eG9zeHpsalFkajM0Uk1abXN1U1pwdWcv?= =?utf-8?B?d1V0a3VHR21sRHNWUWFLNytnR3paVnY0Ni9XbEZ1cUhPVSt2b1BKWkdLY0NZ?= =?utf-8?B?UTdtYktRang1UXcwTDRDaUdIeWc5MUNBRVBEbGZvVUJwR2x5UkR6VVJmM2Rj?= =?utf-8?B?MlZQQ2FJN2dMY2IveXc5aWlPcTRJK3lDQ1cyWFVhNzNFQjB5a2tLWGsxcUwz?= =?utf-8?B?VTRmbmIzMkN6RkFCWEtTdVBxckV0YnR2aHNKRmZ0Qzc3RGtHTVQzZzU2eE91?= =?utf-8?B?UTlzY2tWb3IwWDFZMlkxZVR4OFVXTnQrTC9Kemp6V2pDZW04RmFyT0FRKzd5?= =?utf-8?B?Y1hlRW5pd0l3QUg2MG1pTlFUQ1lJQ0VzNEVLSVRiTkM5MGVMVlMvdHY5WXQz?= =?utf-8?B?YVVpMnYwa25HVTd3U1dCWHkwckVQNE5Ta2RxN2k4b3k5TFdmUGRuMVpacVJC?= =?utf-8?B?SkpVSVlJSVdFa2l2SStIaXYzUS9LQ3JqczQwaUprMlBIVFZrQTh3dWNHZGJp?= =?utf-8?B?Qzg0Qm9xWm1USWk4aTVxdGMrWkF1Mk1XZFpUSHpiaFhONmwvcVZ1bXpuUW9N?= =?utf-8?B?Y0FKdmRqVHV0SGtzVS9TODFlK1Z5SzdieUwweS9CbkQvekdiaW1nVUNYNUpG?= =?utf-8?B?bGNMNGx6ZnJCUTh2M1RzTklDc05xRmdGMUpIcmtIYkg1Y2Jja2VML1l1Zk9W?= =?utf-8?B?cGVGUSs1d0tsMDd5cjdITS9qWDk2VGZRUzROZU9nUVhYR3ZBUXJNYXJuUUpH?= =?utf-8?B?Zi82d05pUC9OenU5RWk5eEhrbUZLY2JxS2R5K0szbGRHYVdWcEViVlM3VzlY?= =?utf-8?Q?7hIfwcZVaClJMNzE=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7225bcd0-50bc-4a4d-04b4-08df0ff35090 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2026 10:56:21.4354 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2NVdQtSSIRAWevLUBNQQp3uoJ5WsH15gtK/KXdEWVrVRTNI/KsXgc+kunmze3nvZ3nAQD0YueI/e7QGTQRKIFMqkMjaoITax41A9PhJMmW8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6639 Ack Applied to hci-8.0 On 9/10/26 11:32 PM, Denis V. Lunev wrote: > Restoring a PCI device's config space remaps its BARs, updates the bridge > windows when it is a bridge, and toggles the bus master region. Each of > those ends a memory transaction of its own, and a transaction commit > re-renders the flatviews it touches, at a cost which grows with the number > of memory regions in the machine. > > So a machine with a rich PCIe topology pays that render many times over > while an incoming migration stream is read, once or more per device, even > though nothing between the steps looks at an address space. > > Both patches wrap an existing sequence in a single transaction. There is > no new API and no behaviour a guest can observe: each transaction opens and > closes inside the function that starts it, so nothing sees an intermediate > state which was not already reachable. pci_bridge_update_mappings() has > worked this way for the bridge windows for a long time; the first patch > just makes pci_update_mappings() consistent with it. > > Measured on a Windows Server 2022 guest with 64 vCPUs and 65 pcie-root-ports, > the non-iterable part of an incoming migration drops by about a third. The > saving scales with the number of PCI devices, so it is small for a plain > machine and large for the topologies which hurt today. > > Note that pci_update_mappings() is also reached from the runtime config > write path, not only from migration. Several BAR moves in one config write > now share a rebuild instead of taking one each, which is the same win in > miniature and equally invisible to the guest. > > CC: Michael S. Tsirkin > Signed-off-by: Denis V. Lunev > > Denis V. Lunev (2): > pci: batch BAR remapping into one memory transaction #VSTOR-129348 > pci: load a device's config inside one memory transaction > #VSTOR-129348 > > hw/pci/pci.c | 8 ++++++++ > 1 file changed, 8 insertions(+) >