From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from AS8PR08MB9502.eurprd08.prod.outlook.com (2603:10a6:20b:61e::20) by PAXPR08MB6942.eurprd08.prod.outlook.com with HTTPS; Wed, 16 Sep 2026 13:34:29 +0000 Received: from AS9PR0301CA0051.eurprd03.prod.outlook.com (2603:10a6:20b:469::28) by AS8PR08MB9502.eurprd08.prod.outlook.com (2603:10a6:20b:61e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.11; Wed, 16 Sep 2026 13:34:26 +0000 Received: from CPH1EPF0000052C.eurprd05.prod.outlook.com (2603:10a6:20b:469:cafe::30) by AS9PR0301CA0051.outlook.office365.com (2603:10a6:20b:469::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.11 via Frontend Transport; Wed, 16 Sep 2026 13:34:26 +0000 Authentication-Results: spf=softfail (sender IP is 99.81.216.78) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org;compauth=pass reason=100 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning openvz.org discourages use of 99.81.216.78 as permitted sender) Received: from nat.eu.perception-point.io (99.81.216.78) by CPH1EPF0000052C.mail.protection.outlook.com (10.167.241.167) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.7 via Frontend Transport; Wed, 16 Sep 2026 13:34:24 +0000 X-PERCEPTION-POINT-VERDICT: CLN X-PERCEPTION-POINT-SPF: X-PERCEPTION-POINT-SPAM: PASS X-PERCEPTION-POINT-SENDER-IP: 2a00:1450:4864:31::10 X-PP-Forefront-Antispam-Report: CIP:2a00:1450:4864:31::10;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm2-x10.google.com;PTR:mail-wm2-x10.google.com;CAT:NONE;SFS:(13230040)(3072899012)(82310400026)(2092899012)(6059299003)(43022699015)(12012899012)(5063699009)(19002099009)(55112099003)(10067099003)(22082099003)(18002099003)(16102099003)(57112099003);DIR:INB; Received: from AM0PR07CU002.outbound.protection.outlook.com (mail-am0pr07cu00200.outbound.protection.outlook.com [40.93.65.64]) by inbound-smtp.eu-west-1.amazonaws.com with SMTP id 0c1i297nrp1hfmube7mvkvso8uj3k7to8vd4kt01; Wed, 16 Sep 2026 13:34:21 +0000 (UTC) X-SES-Spam-Verdict: PASS X-SES-Virus-Verdict: PASS Received-SPF: softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.65.64 as permitted sender) client-ip=40.93.65.64; envelope-from=den@openvz.org; helo=AM0PR07CU002.outbound.protection.outlook.com; Authentication-Results-Original: amazonses.com; spf=softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.65.64 as permitted sender) client-ip=40.93.65.64; envelope-from=den@openvz.org; helo=AM0PR07CU002.outbound.protection.outlook.com; dkim=pass header.i=@openvz.org; dmarc=pass header.from=openvz.org; X-SES-RECEIPT: AEFBQUFBQUFBQUFGUDhxWldlN2RUaDF1Wk5qY0k0Z3pNZ0l5Q2ZJWnpoUkpKZ1I1TFJ6UnlkcUR0bUZCU0tiemdoZjBnQzlCa2ZUNDc3Tk03U1pkNFd5K0JYcmtWT0dXK1FaY0I0aXc2SWNDR0ZpTngwUGhGeWJJR0pPWmVBU2lMekk3TlM4YlNSOHkyQU1Valp5QlNZRDROekdGT0pKSmY0TmFaLzBwejB4NzN0NFZzYXRYL05NQlQwVUhXUDBjNXdCQU5kbk5JTWp6dC8rdFJ3OFVOSU9XQkI5MXFhZ2ZNY0gzK214YWwzRmZrTWhyZUJoamdCMGFwUzNQSHZyZDJYdTNLMXZucExaamxGODVydTRLekdLRDJzSFl4Qi83eFN0SDZLYVpCcjlIUlpMbWlQSHVWT0E9PQ== X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=dufzerepuE8ZxI+oWWOfQoFBT6fANIEg5ee+aez4rTZxuT6jR3sVBZK8KU8covB4q89YZ2GZcwDjfvDYf7FfI/7rE/GEHp6FBE+VOnBZx32Gkk6gradKQ5c78JvgUleCFcwYy12IBZ2sK0kP3HH+r4XdnNv0CqVQcjgwUo6vTW4=; c=relaxed/simple; s=shh3fegwg5fppqsuzphvschd53n6ihuv; d=amazonses.com; t=1789565661; v=1; bh=0dIZwF21KTr5gpLOSJlmLmCTVvHe/HbCnognYCh+D+M=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; Received: from DUZPR01CA0230.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b4::7) by DB3PR08MB9059.eurprd08.prod.outlook.com (2603:10a6:10:430::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.7; Wed, 16 Sep 2026 13:34:17 +0000 Received: from DB1PEPF000509FA.eurprd03.prod.outlook.com (2603:10a6:10:4b4:cafe::49) by DUZPR01CA0230.outlook.office365.com (2603:10a6:10:4b4::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.11 via Frontend Transport; Wed, 16 Sep 2026 13:34:17 +0000 Authentication-Results-Original: spf=pass (sender IP is 2a00:1450:4864:31::10) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org;compauth=pass reason=100 Received-SPF: Pass (protection.outlook.com: domain of openvz.org designates 2a00:1450:4864:31::10 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:31::10; helo=mail-wm2-x10.google.com; pr=C Received: from mail-wm2-x10.google.com (2a00:1450:4864:31::10) by DB1PEPF000509FA.mail.protection.outlook.com (2603:10a6:18:3::6d4) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.7 via Frontend Transport; Wed, 16 Sep 2026 13:34:17 +0000 Received: by mail-wm2-x10.google.com with SMTP id 5b1f17b1804b1-49cd5462b69so5605215e9.1 for ; Wed, 16 Sep 2026 06:34:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1789565656; x=1790170456; darn=virtuozzo.com; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=y+zBToCFFdOg4DzRDTkiSnFvLiEyQIEH+GMzSVIv+5c=; b=Dzthec/1ip41CD3bKtbk7+2cQiJAKKvLjTfvIcvvT2gl5BvROMs7cWmr6NY13V/KKf hxKvfS+dAZmS7dBgOZKbDdh5uQVxooMVnmO3Lco5rQc24qBsrYAr7L0zT5KCN05UIlL0 Yel4zjjy9OCVvZA0/kwZwI+AbvFHoiveLYVCdjN1Z7WLceA/Ffvs9GwrVQ0WgpPO7ngH 5l75XP8teMmkN/JMyu0E4wsWzTt8zg+K+eW4+bDmZWxFwl6a4pj0tZ6iu6XG2WmAL0hd N5qcbPs+0AmAA1DIa8V1DaIuYq5RJ5IsKjZNbTKiNnZCmuyZzP4yvndUEjNpbbhLJokP eH9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789565656; x=1790170456; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=y+zBToCFFdOg4DzRDTkiSnFvLiEyQIEH+GMzSVIv+5c=; b=xyFaxCBp5O7AFMcru1OCeZaLBQkwL+1YGABerJQySxZmDb4vX/ynn07UULd87dQS9W cjvbj6qr2fiMNMUNrfSwZe0xru38pDy1MNUTYA3TdVPCUMYwfIM5CWwnOJp6LtHYJ+sq hYhVPfUu+cVZ6g1SjnLnZR3cd+Nu8DY2znrQn8kzvHqXzdwG8hkgP5RszTUwaWS8RGTI CaDS3QKIpjpKaDH6qNO3M9H6Nvzf/7q45DbrCcg/0RGoxmxODsdr5jNtL8QgVoCxuqq2 LVnyP5i80k1TXZwYwaIyVlfOC0/vc555qL+2wuLvmyjg3CzHywP/FOlGQMaz8FjZzXKD yyKg== X-Gm-Message-State: AFuF++nhtrIgZiNvAdtBzioqzLh4hxBCT90P6anRPESu3rSNHbG5gc8b VGwtCL32NsLaq58Z3mBECXqS43k39+VSWbSG4qH1fDOzH9/MWZIfESfBuUNFBnmA6/AxiYgEFPB U4nYc7wk= X-Gm-Gg: AYBFou2W35tv2gJ2C5bPGvlGBP2EHPLKhB+RhgLvhKMiMQxpvzF57LTeuy7Qh/7y9Zb 0hSor5JGhehqmgSjWUK9heLk2AWTfb3SL4vDMwYdngV0FQjiBd5MLzH4xAbDS6g5+yGGYYVWcx8 AImTiDyIqU9Hs4vAg5TqVK74HiBbPbuRpC+cb0ept1j2RjvPXRaKOBnlONG2E42iKFshlovJ3nt 4bFSTPswkc6U74aKET8I5vznHYRWqPJtA9wy7XZ3CUHt/FCgARGFpfZZALAZnat9eyI9wETrCCZ wiHHJvw2SqgJypwrbOxzWHZaev4BYrQhvxZVJ8WhYruIG0oTAZZek73CnJoSZi8/KG77Xyyy/cU C8c5gDyOz4gj5kvLa6wEK9LCqXP+UTpKpMPs2rghVlWrjTK/0SDrY1iaMsQyV46TI8CABoGmNX1 YACa4yGqrW7zQI8cRwC3FDOloHNE5Z6LfBrqQh9JOpezY5HPYLkj2CO7wakVVhZ61Zu6EX X-Received: by 2002:a05:600c:1da8:b0:49d:2555:1a6d with SMTP id 5b1f17b1804b1-49ec0549868mr59935495e9.16.1789565656395; Wed, 16 Sep 2026 06:34:16 -0700 (PDT) Return-Path: den@openvz.org Received: from athena.sw.ru ([2a06:5b06:b600:300:f56f:c51e:c53f:b1ce]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49e83da9a7csm76763235e9.11.2026.09.16.06.34.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Sep 2026 06:34:15 -0700 (PDT) From: "Denis V. Lunev" To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.0 12/12] tests/functional: cover the BQL watchdog #VSTOR-144507 Date: Wed, 16 Sep 2026 15:33:51 +0200 Message-ID: <20260916133351.1640303-13-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260916133351.1640303-1-den@openvz.org> References: <20260916133351.1640303-1-den@openvz.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 1 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:1 X-MS-TrafficTypeDiagnostic: DB1PEPF000509FA:EE_|DB3PR08MB9059:EE_|CPH1EPF0000052C:EE_|AS8PR08MB9502:EE_|PAXPR08MB6942:EE_ X-MS-Office365-Filtering-Correlation-Id: dca51314-a1ec-400f-447b-08df13f73996 X-MS-Exchange-AtpMessageProperties: SA|SL X-PERCEPTION-POINT-CUSTOM: vzpp X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|3072899012|82310400026|2092899012|6059299003|43022699015|12012899012|5063699009|19002099009|55112099003|10067099003|22082099003|18002099003|16102099003|57112099003; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?L1Q5VGxFOEVDV0hqVHFlRFJ6dHZtelQwS3hQeFM1V243K2d1VWNRRnhQc2FG?= =?utf-8?B?ZnBCd3VvNE1Fcnp4Vkg1OUtVV3BFNUlmTWlmQitqVHNXS0xOb2R0c0pwa2lI?= =?utf-8?B?K00xbExuYUoxOU5jdDNzSWRJbkhFM1lOakVxSUkva0JVZDd3TGI3RzdYbHIy?= =?utf-8?B?RTNoTGEweGJtNENEU0U0ZVpFUkU1ZU02VGlYZDV6QklOWkVjNUZGUk5PajYr?= =?utf-8?B?b3dxNmE4QVpWMUMyU3lzS1cwdnpHWDgxSFZ1OE5HRlJvN1lnc2s5ZlFvM2g3?= =?utf-8?B?ZzhSRnN5SGo0dXhPSWh2aVlxdFY5Rkc4Z0RjT1ZXMElMR20yUGpwZ3RRMGFz?= =?utf-8?B?QTdjNHBjdmYreVdDcy9EdjZIT0xZUStidjFmWHg4MWR0Nyt5dEF5cXNkRG1a?= =?utf-8?B?YnMxK2k1MzBuYzhnYTJXbkhQK1JoYTlBWDlwNEgzUkE0VTM0YWNSU1ZPTUFq?= =?utf-8?B?MTkyZmJqZDFBMW9rSWsralZIbDJseE1sazJLWlM3Y0RTdFZLRU1CV0pEYVBK?= =?utf-8?B?N2pIdjJLdWhzSE03RlFDVEJUTEVhWHREQWF5QlNKNzBQK2dTNkx6RVhwaGEz?= =?utf-8?B?aWNRRmFWVW5qN0o4ZktVcGw5ZkdhZG1Ua0piMXVoQXBUOHNsSCt5emFacTNs?= =?utf-8?B?OUZOUXlHZ1ZOV1F3bERmVjRobGJtVERvY2NScFFlQ21ESWpQaFNKbzgvVmt4?= =?utf-8?B?bURPRTJpc2RVUjROVVBWaUkraGc0U1NscEd6c3VINGN3d3FCeHBKdzJsOXhN?= =?utf-8?B?eVlkb1lhY3lZUm10ZWQ5NVY4aGRnalpveDJxT3IrekNQWVpsWGhkcitVbm5M?= =?utf-8?B?cFh1RkFHUXFzeG9OM1NoUjhUckUvN3BselYxOVFiaGs0N0h0UEc0QnVoRGF1?= =?utf-8?B?Nm9hcnloOTh1SjJTenVUcEc0cmtaNDZISVhtUkhoZUhaUzBqaWZCY2VXUzl5?= =?utf-8?B?M3NUNjkwVG1zTnRPL1YrM2p1YVZHdlBoTjA0VS9qcm9WemRtL1haOUJFV21p?= =?utf-8?B?cnpXT1hXOVo2NCtyeSsveEdGRTRwY1RabWU5YkJTQzRQV2hHeWVydDBnNy92?= =?utf-8?B?UEZ1bDdKSU1ldE5abUxHcm9rQldMTzB6Z0VUTXA1VFcrNms4WllHV0kyb2Qy?= =?utf-8?B?elJTcEJ2QzVQb2NxSm5HejBvcmVTQXg1ZEJ1NVlpb2pxSHhKenFPb013SWdR?= =?utf-8?B?ZmxOQzJPNjF5OWo2U1cxaTZSdEExa29QcEJ6YkJoMml4N0dTb04wdWw1cE5M?= =?utf-8?B?ZGVGR0pZdVZrN2VaVUQ0cVpmWENSR3JEYmhkRC9sWFZMd1dVUmF0WWhhOEcv?= =?utf-8?B?WVE2RHZBdFN3MWUxckw3cnh1TzgrOGg4cks5UTFRa0lLSG4rOWRqOHBsWlhj?= =?utf-8?B?UCswT1JLMzlzY01tbUlEaVgybXNLQmlUcG4wc3RvTjBhbGNkWmRTY2N1cy9M?= =?utf-8?B?Zk5NdDFBWG9sd2FtZUROZFVYbWVEV01kRXYvcTlJanE3RG1LY0kxcVJiWUg4?= =?utf-8?B?UEZkdS9nRkYvY0xOK0I5YUw2R1J3a3V3OVBjYjR5b05GOFpZMUwvRSswZTgx?= =?utf-8?B?NGY5MXNNZXZjbk5KWE1vbjdjYytCOW1XSWtRbk50RmhkM3lvdXgzb3lNVmgy?= =?utf-8?B?WnozUk0rdlhZMjJWZytyYXB3Z3FFWW5Kd0ljUWJnYzBJN0tRK2pVYWRGbGJ0?= =?utf-8?B?cERING12a0JkUEc5VVBOSHhqRVQwbkd5KzlEUU02a3FMem9xejZzVnBBVkh1?= =?utf-8?B?ejRtMUNmeEVJTmlyM0xwN3NBemFQUnVjK2JubXJtMkRRZmhDRUNCRzNwTWdD?= =?utf-8?B?S2VDOUcrdy9UTjhTTzVrNlgydlIrWWFvdjdQRWpseE1IMU0zTjhmYjZPMHpm?= =?utf-8?B?ei8rb3pUU0NOVTBoK0x3RnZLV0Q2SVE5SWlubndRekl1TWxScWF5eXJndmRY?= =?utf-8?B?T3VtdVA5djR5TDl6bitWeFh0b280RkRIbW53TlVIckUxSC9sMnFGOWQzVEo5?= =?utf-8?B?enc2UEdKdFdrMko3Z0ZKMTVvQWFuejBhKytidmFmVzdhai92eG9xWWtzdm5u?= =?utf-8?B?RzB2WHF6TXU3NFFnenZLQlpKbE1ydVpSdU5xY1FENG1Kdjgzb2JMQno0eFE1?= =?utf-8?B?dElqU3J6b3c1NEZWaDZLSSt4TTM1M1h5SldTVlV0YnZhclZjUGFsMk5XSFdz?= =?utf-8?B?NTJqZWN0RitPU0tySUlQQVUzR1RWNkRwZUlvcDBXMldCa1F3SnhCTVRreFpk?= =?utf-8?B?NW94aXUrTzdWLzdCUWFCM0c4aktna0NsTm5tbEtvb1JKWUVMZml5c1ZDTnZH?= =?utf-8?B?dnlNQS9OVStsOEZIemVWUi81cllLanNWRFpHRXFPaG80a1FXVHZKc3J3Q0pr?= =?utf-8?B?TEo4Z1dXUWFSTWxub2E4K0gxdTFNVXpZSUZnTkxsamdKcWtkTnVHNnZuMGdm?= =?utf-8?B?V09raXhoQkJScnNpNjNvMS9FRWt6R1FJeU5OcU1CMG12MW1SVGVnTWRST2Iv?= =?utf-8?B?OHRYcnVKM3puQVBPRUR4cm9jaGUzeXI1QjNMYnMwVk55R2hQN3JDbThvL0xv?= =?utf-8?B?VmhPNldVQ0E2aFAvME5EV3VKZkRxdlFiNGluNWRhMmVqZkc3VXFIY1EwNURw?= =?utf-8?B?TSs3by9qWTNNNi9DMnF4ZStXS29MdExzeW5UVDRzQUZTT0lsQXJzNnZOYzc4?= =?utf-8?B?R0laeUNPRElkdC9DODdGVHFUN3dZbmFMazVqdlVPOEVvTS9VMSs1d1Rrd0o0?= =?utf-8?B?QWI0MHcza0ZBK3hONFZJMlU4N2FwZGR5MHB1RnJ2azhTUlZJSTJZK3hEd1c0?= =?utf-8?B?czJBdmU5bU1RdjI2Mm92TytSbWxGb1laam5Hd2tXT3lmdTBEN2FpQ0JkOVRI?= =?utf-8?B?ZUZlTi8zVTBmNExlVGRSS1g3Nlh5QVFvdERrL280SnAzV0xvenlBRkVBdk5t?= =?utf-8?B?L05BK2RSTXFIU1I2b1JzRWwvblJnUTJIS2ZjTmE4c0gxMWN1UDg5OWhveXZ5?= =?utf-8?B?VWp4Qi9RTjZxRTBEZmRPdUliczJLOVBUL2RQc0RuMXpDeDh2Mm5ZSzRMNFZJ?= =?utf-8?Q?qh7Sf0e3PmYx2UCBWhC8IScRjg+IFe548=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:2a00:1450:4864:31::10;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm2-x10.google.com;PTR:mail-wm2-x10.google.com;CAT:NONE;SFS:(13230040)(3072899012)(82310400026)(2092899012)(6059299003)(43022699015)(12012899012)(5063699009)(19002099009)(55112099003)(10067099003)(22082099003)(18002099003)(16102099003)(57112099003);DIR:INB; X-Auto-Response-Suppress: DR, OOF, AutoReply X-Exchange-RoutingPolicyChecked: oO9QCSsWxGdIbg/WbUC6uGvnEuZgwphw+WJWJlOzOjuNV52a3P2TzmPTybjmXxPLP3HzMaqXfdZx972/i6RGExaJwtKHP1ogDDiHvXu7JF8/VMQD+dS023yKJa5o3twrKjsCp5muq1UVdYcEbYm9S19H96/nLvZ8ceLPJox6RUswCYns/E4UxwVG+g+JPFKa4SwBATune2shEJAMCe+Enq60bAwW7IZvpymQsyd/DAytfEik31ORSJuo9dx7cEUM7KLAFFR7nRjXOjTXTdErRTED5LZpLsn/ujkQDe/62FxgyStgytwklsQ0uMx8PYZOo1wNYXIxeYbONvt/UUVUhw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB9059 X-MS-Exchange-Organization-ExpirationStartTime: 16 Sep 2026 13:34:25.3898 (UTC) X-MS-Exchange-Organization-ExpirationStartTimeReason: OriginalSubmit X-MS-Exchange-Organization-ExpirationInterval: 1:00:00:00.0000000 X-MS-Exchange-Organization-ExpirationIntervalReason: OriginalSubmit X-MS-Exchange-Organization-Network-Message-Id: dca51314-a1ec-400f-447b-08df13f73996 X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-Exchange-Transport-CrossTenantHeadersStripped: CPH1EPF0000052C.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Exchange-Organization-AuthSource: CPH1EPF0000052C.eurprd05.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id-Prvs: a0bc6f3d-ab89-4df4-24d7-08df13f734a9 X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0;ARA:13230040|6059299003|12012899012|43022699015|2092899012|35042699022|3072899012|82310400026|5063699009|56012099006|5133699003|18003699003|10067099003|19002099009|22082099003|55112099003|16102099003; X-Forefront-Antispam-Report: CIP:99.81.216.78;CTRY:IE;LANG:en;SCL:-1;SRV:;IPV:CAL;SFV:SKN;H:nat.eu.perception-point.io;PTR:nat2.eu.perception-point.io;CAT:NONE;SFS:(13230040)(6059299003)(12012899012)(43022699015)(2092899012)(35042699022)(3072899012)(82310400026)(5063699009)(56012099006)(5133699003)(18003699003)(10067099003)(19002099009)(22082099003)(55112099003)(16102099003);DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2026 13:34:24.1895 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dca51314-a1ec-400f-447b-08df13f73996 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: CPH1EPF0000052C.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9502 X-MS-Exchange-Transport-EndToEndLatency: 00:00:05.1094439 X-MS-Exchange-Processed-By-BccFoldering: 15.21.0451.004 X-Microsoft-Antispam-Mailbox-Delivery: ucf:0;jmr:0;auth:0;dest:I;ENG:(910005)(944506478)(944626604)(920097)(930201)(20251009189)(140003); X-Microsoft-Antispam-Message-Info: =?utf-8?B?UEJNUE1qZ3ZyMWFsaXN4UmRQYkVTczhUUU9BUnprVXAyTjNTM2RjUXN4bno3?= =?utf-8?B?M293QS9kUTlsRXU3YzJIT3diU1NXMStCOWNzVGZWbUpXSWtadnI1UUd2MjFo?= =?utf-8?B?UUU0Y3F1STN4RE9TTURrUWJKY3h5NVRHUHR2dzc5WDVLVEw5SEl1dWV6dG1s?= =?utf-8?B?OUErei8ybHU4TWJoZHdjRTJIeGFjUHhwYXVmdnE1VEhCTDdmeDNjTi8vcXF5?= =?utf-8?B?WnhRSzZveFVSWWZzYnB1V01rTUNIOEFsQWJzbFlYNjVOcnM4a09JSGNBNGxN?= =?utf-8?B?c3MzVnB3dVZYWWJVOTVmWXhUWnpFWFhCb0tqN0JZOVNaYW9iYlZZMVBYTCti?= =?utf-8?B?d2ozeTIrZWhaWHJCejdsSWt1bVBPRW9NVjJWSGNTd2hqaGg1QzhteFRhWnFx?= =?utf-8?B?UFJpb2xsR1QzVWI1blA0NlNHWmRUcldFRE9hRXBXc0pvYUJ0R2ZQS0REemVU?= =?utf-8?B?VXVhSUVTNk15cVh6bU9UczE0NFdVdmNlLzNpVmNlTlM3VllkalZPb3Y0OUps?= =?utf-8?B?ajk2YTBwSUk0YXp5R3ZpMFcwYVVBeEJTQ0JnWFNpTUpFUk56TWRMWFZzR0ls?= =?utf-8?B?MDJPNm9LeXZRSkRFaWljWGVMWHp1eVkwNGpQcEN6SklRVUVidjh1T0NEY3g0?= =?utf-8?B?ZG80TFlwSjJVWGJpcGpJbTJMcTREOUE4b2RETnRqQXFRTEVxdW5CcG03eE42?= =?utf-8?B?U0prZGIwUlhHQjcxMVpiemdJczBpTW1vM1dBbTFpRnI2UGpyR0J5cXBSOHJk?= =?utf-8?B?RUJvT2NVUG5iRmxOeGExZmpXY1NOOVExdlcvQlI4ZGl2RlRkVnhFZHNmanpx?= =?utf-8?B?N1R2MXowNURHQ2JhS0txL1FQcjh0alQ2QUpWSU1oejBBV1kyUGNybEF2N21C?= =?utf-8?B?ZDNwcmZyYW13SVowL1Njc0s0ZmZpQ1dYelhwRXNVbllPcTUvc0h1OTF3S2lj?= =?utf-8?B?eUNuOHkyRjdNblBRZ21EeHk5UDh4MmJRL3Myci9GTmlTSitJeTN2RVN0a2tw?= =?utf-8?B?bjZDWCtrSTZkUmlLYzVFYXJYelBzNlZGWFRHbDFmQnJVUm5DR09EVUswU2VI?= =?utf-8?B?MnFJalk2RnBPVjJsYlpzVmRiQUJqUGNXOHJLc3plVDRyWkx0QTByaml4dzFB?= =?utf-8?B?dlZ3THVvTDZEdVdZbVJNbUMwLzRjcWRNM1J2eHZQYmFZRHR0L0xrejJWVXUx?= =?utf-8?B?SFV3SndwSkxVbFl4ZThwVW55azhvUzVZUGx1R2ZzbmJKTURRclowclN1VkVI?= =?utf-8?B?SDUxMFdZZTIyckk4UThLNXhyM3o5a3h3cVEwc0ozck5kekxHaWIrdm14bkZp?= =?utf-8?B?MFJTcTNLV240ayttSjNweEprY1V0SnBCUm1sb1o0WElQZmRYOXgyRE5GSzNV?= =?utf-8?B?aWxCVjdsQWZ5dmRCMHFQSGtvWTg2UEx5Z3ZRbFNwNldMVXpCaHRCanFGSHMx?= =?utf-8?B?Qi9USk1uWElQTTBYTlRaZWFpcDhXQ3ZPQUtBN0h3VGljOUhCZHZvVkpOdytS?= =?utf-8?B?amVGUXdDaGZ2clErS29pemR2NWZ5VkROTmlNY0M3dXlsT1BwSVU2dzlBSHYr?= =?utf-8?B?WnAwcXZSWXhWTkMvdXpKaXNOTmtCbTNRMUdFWkd0aXczNklnWVhhQjROMC9D?= =?utf-8?B?ckFjbDdoemxZQzk5eWNpV0hoNnJuSTdhM1Jia0l4Rlcrd3lIM2pHNWdlS1hh?= =?utf-8?B?UkdqaEROWmdVUlVlNi9xMHRjSE1iVThXVEJEd1Z2SE1oWVlUMnhBd282Q3Qw?= =?utf-8?B?TElDQXhzc2c0b2xOdEVZWms0OXMvQ3RYcldISjg4WmJDU2JQQnhlZWxMbW5y?= =?utf-8?B?TzNxY0JIdEpWT2NUT2RyTDBGbEt3VXN6RnlOcVNEd3dyRHBqOUd5ZEhPbExD?= =?utf-8?B?dkxuTFo4UEVLOVVyV1M5ekxrWnJRMzFaSCtaWlJBcW9WVWRtRllxNEdvSkcz?= =?utf-8?B?RTJUTXlvcnp5MDZRbVUyY2ZIajNOS09UWWpJNlFSTHJJYlZXQjc2YWJjQzFx?= =?utf-8?B?MklQZmw4bVM1Z3pTYW5EemUySkQxOUoxTUhmUU1QeW8vak1YZ2pGR1FBT1A3?= =?utf-8?B?aW9pd2hNZUo0VUxKNnEzYk84SUo3dG01ZWRHWitxV2FkUXNqVllzajFVeFlO?= =?utf-8?B?ZG0zelJkSTBoRVNBeEdscUdjNnVmSDlrZmxZNGNUYU9yeHNZaWtDVVVWYkJC?= =?utf-8?B?YXFsT3RhUGFGRE8rWXpwV0tqNGpVUkxteEVoUS9ZblRlS0t0bzJDdFZoMWN3?= =?utf-8?B?U2lROHpOREJ6WmFkbGl2NUNxNlZtaFcybHZvbVFlViswYW5VTTl2cGJSM3Ji?= =?utf-8?B?NHpwSmpEWm5RZXlsM2dIYi9uQVFJT0duOWt3ZHJrMEhPZGwrYm9RMmZ5aWJV?= =?utf-8?B?NEs5U29LQ0JNM2RUcmlPUmpUZ04ycUZsYStMSGE5TzU4c2ZiSHdKUEdDckl0?= =?utf-8?B?SHZNZEEvQVZaeVJEOTZ2T1cvZnhQREVMRm9HZ3RzQzdTS3UrSjlKZWhvL09Y?= =?utf-8?B?bHJ6c1lTTmFUbTFSYW1RWXhiL1drSEpaRWtmWDRmYWRlR1BqQmIyWkc2SVNv?= =?utf-8?B?RDJJVFdGbFRKYkh3bTc4WFUzMk9UbGVBQTE3UVJtcGhOTmdtbzhPNlVGUnY5?= =?utf-8?B?clpFS1YzL2JOQTRvUGlHYXlXZE5XbEhZNEo1WjJNN2dBNWpYdE1FYVVzSDdG?= =?utf-8?B?b1BmTmNEU3V5VG10U0pyK3BzU0Y3ZVZ2djlnRWpaMU9uK2h2QTdQRStlS2ZP?= =?utf-8?B?bUJ3ZG5FeGVOSkpwd2tDQ2UzNHBNYlV3ZzFiR0phWnJHSHltQzEzUVMwdmpl?= =?utf-8?B?dmgyaWhFc1lWcUwyUVZHVm9nMG80S1NKK1VKQ3c5WjMyQk13STJWNnpsd08r?= =?utf-8?B?ZkhWS2g4Y01VMXE1bXR4WmRwVTRGV3NlTTN1eXFUaG9jZTlBZ3FBamI2eWNG?= =?utf-8?B?K1NGMTc0Yks0NXhCUXY4VFV6Tnd2L2YybmNicmkzRmtyRzdaSW8xYVRhZnRS?= =?utf-8?B?QVRmYWJzcmlsSnVteGJBNEF0TFBEandqWHNtWkNKRVByTzcrVjdEYkY3V0pW?= =?utf-8?B?UnErYlI0azlrVmp2Y04vNVVtVzVHeG9lSVVvUjZnczdobU56ZTVsVkEvaG1R?= =?utf-8?B?bnpjR0xDNVprNC9kMVZtQ0JXTlJOZDdtcVJ0WUVTS25pb0F6T1ZjdWo1K1Qv?= =?utf-8?B?N0h6T2I3RUVhY1RRWW9iR1dxTkFNZU82QWxabXhOTWhjTjVic3E0VFIvMlNa?= =?utf-8?B?TlQwTTEzSHpCRVhSc0RId1lmS1dScyt3NkxlY1dNbUwwZ3MwQzJGVWVtcnIx?= =?utf-8?B?VHBMSTRnc0xUbkxac25TcWM5dlFHUGtaYmRoL3lOUStKNG9zTXYzN3diY1N1?= =?utf-8?B?OENmY3cxYlV2Ky9mNHNDdGpkRkh2RlF2Q2xSOW5TRGZ6U3hTZW1rbGVaM1A0?= =?utf-8?B?UnBTcWlRWXA4S0N6Y3RXUnphYTQ4VkZUalhZVlllNkx6cmhGNmp1WHI4TG1m?= =?utf-8?B?dDlYYTVXcDFxTmlBOC9EMjZ0OHhDMTJYcVd1dTZHTjAwNisxa0lzOE1xNUxF?= =?utf-8?B?bGFvTTZPTENQVTREeDBNNjRmekR0QmFWcDlPcGQyT21pYit2RUFWSGpHeERn?= =?utf-8?B?N1hNOTZHYkI1OW14UmZMSXhQVFVNSlY4VkJHT0lvL1BSRFpsbWc4SWlOYndR?= =?utf-8?B?bDdMRzZ2K25tV0VKNWVDallNSkVRdHQxRWpvUlZIZHJFdVhoa0N1WnRBMGo1?= =?utf-8?B?TjNUQkVUWEdoaGlpQWZqR2NLMVZvYVhKQmJXdnhQRzdVcnhjclkvZEsvVnc1?= =?utf-8?B?SWhYT3poUUd0dEREVmFyMFBBTTJPaEk2Y0QvM3Qyam9qN3RqYlpaT3pGZEVH?= =?utf-8?Q?UT8tF66vn0ftdXJNlhJIULF8=3D?= MIME-Version: 1.0 List-Id: From: Denis V. Lunev Hold the BQL from the main thread and check that the watchdog says so. human-monitor-command is not a coroutine command, so a write issued through it runs to completion under AIO_WAIT_WHILE() in the main thread, which keeps the BQL for as long as the backend takes to answer. Point that at a null-co node with a latency ten times the deadline and the hold is both long enough to report and short enough to end on its own. Arm the watchdog after launch rather than on the command line, because machine creation takes the BQL in bursts of its own and a deadline this short is meant for the hold, not for startup. Check the quiet case too. A counter that stops distinguishing a held lock from a free one would report a hang on a healthy qemu, and that failure is invisible to a test that only looks for the report. Cc: Paolo Bonzini Cc: Richard Henderson Cc: Philippe Mathieu-Daudé Cc: Zhao Liu Cc: Thomas Huth Cc: Daniel P. Berrangé Signed-off-by: Denis V. Lunev --- tests/functional/meson.build | 1 + tests/functional/test_bql_watchdog.py | 60 +++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100755 tests/functional/test_bql_watchdog.py diff --git a/tests/functional/meson.build b/tests/functional/meson.build index 305b25703d9..698a045ed84 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -68,6 +68,7 @@ test_timeouts = { } tests_generic_system = [ + 'bql_watchdog', 'empty_cpu_model', 'info_usernet', 'version', diff --git a/tests/functional/test_bql_watchdog.py b/tests/functional/test_bql_watchdog.py new file mode 100755 index 00000000000..193dad15e37 --- /dev/null +++ b/tests/functional/test_bql_watchdog.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Test the BQL watchdog against a main thread blocked on IO. +# +# Copyright (C) 2026 Virtuozzo International GmbH + +from qemu_test import QemuSystemTest + +deadline_ms = 100 +hold_ns = 1000 * 1000 * 1000 + + +class BqlWatchdog(QemuSystemTest): + + def setUp(self): + super().setUp() + self.set_machine('none') + self.vm.add_args('-nodefaults') + self.vm.add_args('-blockdev', + f'driver=null-co,node-name=null0,size=1048576,' + f'latency-ns={hold_ns}') + self.vm.launch() + + def arm(self, ms): + self.vm.cmd('qom-set', path='/machine', + property='bql-watchdog-ms', value=ms) + + def hold_the_bql(self): + """ + human-monitor-command is not a coroutine command, so the write runs + to completion under AIO_WAIT_WHILE() in the main thread, which keeps + the BQL for as long as null-co takes to answer. + """ + self.vm.cmd('human-monitor-command', + command_line='qemu-io null0 "write 0 4k"') + + def log_after_shutdown(self): + """The log only reaches the harness once the VM is reaped""" + self.vm.shutdown() + return self.vm.get_log() or '' + + def test_reports_a_hold(self): + self.arm(deadline_ms) + self.hold_the_bql() + self.arm(0) + + log = self.log_after_shutdown() + self.assertIn(f'BQL held for more than {deadline_ms} ms', log) + + def test_silent_while_disarmed(self): + self.hold_the_bql() + + log = self.log_after_shutdown() + self.assertNotIn('BQL held for more than', log) + + +if __name__ == '__main__': + QemuSystemTest.main() -- 2.53.0