From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11021100.outbound.protection.outlook.com [52.101.65.100]) by lore.virtuozzo.com (Postfix) with ESMTPS id E47588045D for ; Thu, 29 Oct 2026 09:35:32 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BtDs6qI4XS6uK9xmSHHjVI/FzotT00DKtnjzg2dyqEWcCYoENHbOTQj0fur9tEZiPvLtrMzR2qwtQdJ7BnK56+uR29wUebLPklfmNvWGMEsW7iymlgtxMjbII0IEcaqcxKQQrBO1bOGIYuPubVfbazZScTWWSUxwcGzXgRB81hRBcPL/qS4V+tYzIRwOL9q2mAJQvmB3aI1OSMn0oVaoKa2UT9ZjKTyul5NYn4Cyr+e7MtnNwGYTrc6WGPdZqhLdaQYwiYyWXHhnlmoG8l4zUiQoAPnVq3z77WqO/Nhok+HvHV/BnqWul6qML8pr2CskqooQ7S/WGVPziQdQRAX7qQ== 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=kwHDfUfSN5HBjGYR16pQ4PzMkixOWvp7eW7ejcm3X+8=; b=lOGNEm9c7c8MmaFj7L4JSNmfHG4JgiHiKfGhW+5+V0Fqj1CfNTpLXuZ2RFS9jLJQA/pECirvQPDhbxjK5+NtjaRrE9puNKjlndgv5bMU8CaT3p1V4XZOmZd8OZNIoPjRNwnDRRn+4Vyt02osEO5PKrgLYAjBBfMaxP+WoI8YMSKdPtbiKrDT66CBjyrQI/Qg29tva2f/xz63lH98E8FfRoeRXyza5RkyNc5iZ3OsD08ryHBW7Fe8mzpCpXBDYh71YB03t3MJhRJ92phyTcrEvobxqrJ3kyDup/jHoNU775MYsvwWnNbHFfYBrEXvSLrisje0dI8HMQ+IGP05EOWgFw== 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=kwHDfUfSN5HBjGYR16pQ4PzMkixOWvp7eW7ejcm3X+8=; b=YXTa5DojFyoVp03vEJXxJVZ9UmOyxekMcDF1r2Udd5mDZv80NVoUoBmniSbaJzRl+fTz8gMa2D9REfi0HQ1g0vMrfvNaN9U4kGiCzK89RaAFQRtcfCBFKsz0Hf1NYT2goqp8lE1v8k9TaQhS0gX5dfnOr2KzrsrH1P8pTDNC6F6VeJ7imfovuYVFtsRqmLOkccPYVXg8SO4fQlI2mRtrLDAZcOmMI+/rT9bJt5EJT0+od/zOOByH6eoS9X/ZJyeHBpg+U1piqbryT25yNt9+uxybfyjdk5Oo1Eb71asoQmo5FBxytRA658yRAE+k1Pg3NxeXYSLVv4Td+7ziEukEdw== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from DBBPR08MB10650.eurprd08.prod.outlook.com (2603:10a6:10:52d::7) by DU0PR08MB8664.eurprd08.prod.outlook.com (2603:10a6:10:400::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.8; Thu, 29 Oct 2026 09:35:30 +0000 Received: from DBBPR08MB10650.eurprd08.prod.outlook.com ([fe80::1b2a:832c:d136:a37c]) by DBBPR08MB10650.eurprd08.prod.outlook.com ([fe80::1b2a:832c:d136:a37c%3]) with mapi id 15.21.0569.007; Thu, 29 Oct 2026 09:35:30 +0000 Message-ID: <2b89fed5-f7eb-4d02-8c1c-681671742bb6@virtuozzo.com> Date: Thu, 29 Oct 2026 11:35:28 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH hci-8.1 v4 4/5] vhost-blk: create kernel threads with the mainstream worker ioctls To: Alexander Ivanov , andrey.zhadchenko@virtuozzo.com Cc: svt-core@virtuozzo.com References: <20261029092301.3286535-1-alexander.ivanov@virtuozzo.com> <20261029092301.3286535-5-alexander.ivanov@virtuozzo.com> Content-Language: en-US From: Andrey Drobyshev In-Reply-To: <20261029092301.3286535-5-alexander.ivanov@virtuozzo.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0029.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::22) To DBBPR08MB10650.eurprd08.prod.outlook.com (2603:10a6:10:52d::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR08MB10650:EE_|DU0PR08MB8664:EE_ X-MS-Office365-Filtering-Correlation-Id: d3afdb82-6bd9-4e6b-012d-08df359ff8db X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr 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|366016|1800799024|23010399003|376014|261028144727099003|4143699003|56012099006|5023799004|261009223027099003|261009221227099003|261026121527099003|261021121427099003|261026140227099003|261022105027099003|10067099003|261022075727099003|22082099003|18002099003|5113699003; X-Microsoft-Antispam-Message-Info: iGbShC5j9ZcKiuXB3+5YFVEIuagE3O4czR+DyUbNWdzI1RBiG14v2bB/Z5TlSsmR6bb4Uv6IEN9hbAzClaMGV/4Vsy6X84MhABI+h7OsLC2k1Vdf1x92HJDwltvs6bW5WAjocKWMg8yariBj29NznQtZxlf2gYTwXK5WZdQ4dZ/zyiBzlZE5yea5M7XA8i1qtD9KYbCYtcme79o0avAI1Afv/a8HHKGtZaqVzNoRif56v77m35PoJQE4W//M33h0Nobrb241n3ZBmFgA7U7CuQZEj7SJZX8P/1jV3+be7L7ZCgJhjN6W1J0Itv0Fid1JqSDcmnIgyTfoejG71by9j8EMOHenBbpF4T5lEV0lAlgFg2qEx+sJF3fiGXOnEOheRCtQK7XKNXwk+Bk2UNK2qr06XgT+gQ3fHIEmO8z6t4pOP6ztali5sLw7T2bjZgqay+dr7OzvZv9w+oUVN10XgH19kM07GmbZAutv1BlQ74nee4gYVvKBUpq+aDWKMlQnQpvjevC2cbV2f4qGThS8F0NvmEEV4xFQJ1OHrDHN8o9qDC91inxs4VU4/srlRnrMKXveodnmt8UUFT+bMaOk3sXV/3epwImzh2RDVoqcGGhNgkgBmaVSSIEVxXtGh1By X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR08MB10650.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(23010399003)(376014)(261028144727099003)(4143699003)(56012099006)(5023799004)(261009223027099003)(261009221227099003)(261026121527099003)(261021121427099003)(261026140227099003)(261022105027099003)(10067099003)(261022075727099003)(22082099003)(18002099003)(5113699003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?L3JPbnNjQ2NUYzdBT1JCaVRyaGFXendXWFllZjA0SFRQSDJycEFkZEhOa2lM?= =?utf-8?B?RzBZWTVlM3VXQkpUbkhmZ09pcnBwRE93bG1qRUxoejBCMU1IWVFIRlliN1do?= =?utf-8?B?U24veXJhSENsU0hKZTAwUXZRS0NTMHlKbGxQSElwRkYrTTFadUQvU2g1ZlRj?= =?utf-8?B?TktrUFBESVIrTi9EUXRuQkZHZTl3YXRTTkhYamJpaTIrK2xKeHQ0ODZBSEs3?= =?utf-8?B?Mi9OM3pzSEJPSkg5a2lsaDA2Y2lVKzNnU01lOERRWG5FV1ZrK3RUOWJlU3Y3?= =?utf-8?B?NVBFNmo3TXRHbFdpY2JvU1lyUjJGVkVEUnBObHZLaGVINDF0TW5xaE9MNFg3?= =?utf-8?B?QXdPMUhQWm9iVzU5azJjOUtjY3RQdU4wUFNXZVRxWTlUNnA0a3ltK0dKS0Qx?= =?utf-8?B?S0Npc3YxelRwbld5WGtvWmdGWmNjUHp3TGRUTklBcXl5YUNFNW4wcUR1YVVu?= =?utf-8?B?clBsTzZKb05jcTN2cE9aZkhMV0dKZmNVNE05bnpBUGJyWE05Zm5XUGJSTGFy?= =?utf-8?B?a3c3M2RSRlU0THYrd21nVERLYUhkN2dqUEd3R1kvOVlGQ1lSak1JSkQ4Nkh4?= =?utf-8?B?Z3hZSUs5NTRqR1FMaXpOQjEwWEk3Z3FZTVNTdkdvcG1waGp4NW9wSHRDUEZR?= =?utf-8?B?b05PSzk2dFN0QmZsVXZqYjY0dHdaam9sVHdRVTlPaWhBc1FQeWR6TmJQRmZH?= =?utf-8?B?bitCeld6Qy90aUsycWlqYUpOc3Nza3lPZHB3djVOeUxHQ2ZmMW9lb0V6bHdx?= =?utf-8?B?c1R0YlMyYXUxUUZuTkZpRG9WOWV4emVXQ1RnK2RZMWFoemF4cmNac0YwWVpW?= =?utf-8?B?ZCtHcmlvbEk1QUFhVXlTUm8zMHUyd3dFZ1VNd3lTck5kRjBTZ0psOURoWUtG?= =?utf-8?B?ZmJYR3crVTl5S1ZZcUdqa1I1WHZDTjdHN1BQRmRyK1ZqODVFU0dFbmtsdGVH?= =?utf-8?B?YVBwREx3VFBkYXBwbXVDMFJ6c01sTElXMzRlZ3pPOFNZMy9HUm12Z0JCWEtv?= =?utf-8?B?ZHF3YXFSOU5VaFc5TUFKV3JlM2NRUHRVdXhuY0N6TmZxbE5WU3hka0NRdHMz?= =?utf-8?B?ZGhUYkV5N3NrMHd1NXdEZjh5bHN2VG12UWZLVkFOSlMxRldyTmYrNkg1d1Uv?= =?utf-8?B?NmVNanArQ0UwYTBlSHpoallpRnZBODZLTmhmaEFjcTFlNXNSWXlWNDVoWmVQ?= =?utf-8?B?RHBPYUNoV09Xb2pBTGN4dExzUUY3c2QzTVVSR3plUnFSeTdBM0dmZ2JVcWJV?= =?utf-8?B?MVBPR3p4TEF6bjlKWDEyUUVyaWNBNFNmbWNLb3ZpVlNSOS9kYWpEUTB0S1BO?= =?utf-8?B?YVkvRnZaSEd3ZXpXek95TG1HWHNpSGRpOWJXN2ZyQVVaMENveEtGUTdkNWFM?= =?utf-8?B?SWVTb1BjUFlQSElZVHNWWGJhWFR6c1FhVmZHeUhRSjUrUUZmeXJaalVQWUNx?= =?utf-8?B?SlNldnZZTDM0cVJ1SzdLU3NJMVl6QUpNSGlIbzIwUTdlSU5oZGY1VHFPTWN5?= =?utf-8?B?M0cyRnlhUDRiZWtDQ1hua3ZYZXVod0dRNllPOEt0NU5YUklBbmJEUlhUTnJl?= =?utf-8?B?VUdSNUR4VDVHYVBGRDJxYXRGQkd6di9JNjBQWThSdUFrZkExOHRUcG5yWHBv?= =?utf-8?B?RDhXUWo2SHV2clMrR1BIQ29xSHR3RXc3Nk5PUkJMb3RLb1hQWWNNVGZkRHl6?= =?utf-8?B?SnRpaldpczFPYW1BYzdnUW9LUllZbEttL1NkMEE4ZEpsTDMydlpYVVBTTita?= =?utf-8?B?KzNPTDhLM1hCN05DVHJGR1Yza3R0VUs1M1ZsclBqejh6cUdLNjJLOFZ1Q1Mr?= =?utf-8?B?aGd1K3ZUZEM3citWQ2JvSWtDNmFJQkgyMUdDR0ZwY0VHL3BCbkVmTEZXby90?= =?utf-8?B?dFk1alhyemlhWXd6OGhaaXRJSkhnNUxWcmNPTDNoYkZ6NEM1Vld1WlRwQjZ0?= =?utf-8?B?aldjZUhhRE5kUFlZUVZTUlE0ZnNvMStmZU9pcDVBc3FGdGtzUnpBVnByMXhn?= =?utf-8?B?SnpYZVh6NjhHOUdFTnB5cVNOanFUODZhMk9ieThMTEdiRTlxUHE4QUc1Ymcy?= =?utf-8?B?Zlc5VjJoWUt4a1krWENkUjA3RnQ0Ry82TU9Zc0tzNmFTbGtBMHpzWHVNcE5T?= =?utf-8?B?TXREWkVOYzNnc01SRXVFVmpzNzhLYzhDYmpCRmVJNFhXTURnUXJNLzR2R0pJ?= =?utf-8?B?Q1NtNVFBU2VxUXRzRTErS096emFCaVcxa0VEMnZ6MEpEV0F2SFBOUjI0blh6?= =?utf-8?B?SmFRNFMyRVZOWDVNL25qKzNUcm1OWDdaTHdwV2pCT1BVYWQzSDh4cDYzM2VG?= =?utf-8?B?VTBtNGRwSks5MEd2R2xPejJ0alVNdVM3bm51TmZFRFhYVklCbDR1TzFqVXpJ?= =?utf-8?Q?CDQrYDb/URtAqwF0=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3afdb82-6bd9-4e6b-012d-08df359ff8db X-MS-Exchange-CrossTenant-AuthSource: DBBPR08MB10650.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2026 09:35:30.3805 (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: NCFFWSgcYMo1+4/P/mhpYv9ZWj8ht0UeZoMICWzI9Ihg0gsAcpnR6egBYov27+PpDrSPuAR/+AnKZUZrXHWXovFWntwcYVl6gE5NyA/LF44= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8664 On 10/29/26 11:23 AM, Alexander Ivanov wrote: > num-threads was passed to our own VHOST_SET_NWORKERS kernel ioctl. The > kernel drops it with the revert of "drivers/vhost: add ioctl to > increase the number of workers" in favour of the mainstream worker > ioctls, which vhost-blk now supports. Create num-threads - 1 workers > with VHOST_NEW_WORKER and attach them to the virtqueues round-robin > with VHOST_ATTACH_VRING_WORKER, the layout VHOST_SET_NWORKERS produced. > > Our kernel, unlike mainline, defaults to kthread mode, where > VHOST_NEW_WORKER fails with -EFAULT rather than -ENOTTY. So switch the > device to vhost_task mode with VHOST_SET_FORK_FROM_OWNER before > VHOST_SET_OWNER. With num-threads=1 nothing changes: no worker ioctls, > kthread mode. > > Released vz10 kernels have VHOST_SET_FORK_FROM_OWNER, but their > vhost-blk does not handle the worker ioctls and fails VHOST_NEW_WORKER > with -ENOTTY. Other errors are possible as well, so do not key on the > errno: if VHOST_SET_FORK_FROM_OWNER fails, keep all virtqueues on the > default thread; if VHOST_NEW_WORKER fails partway, spread the > remaining virtqueues over the threads created so far; if attaching a > virtqueue fails, it stays on the default thread. Either way warn rather > than fail to start vhost-blk. Unless VHOST_SET_FORK_FROM_OWNER failed, > the default thread stays a vhost_task, as the mode cannot be changed > after VHOST_SET_OWNER. > > https://virtuozzo.atlassian.net/browse/VSTOR-107537 > > Signed-off-by: Alexander Ivanov > --- > [...] LGTM this time. Reviewed-by: Andrey Drobyshev @Andrey Zhadchenko I'd like your R-b on this one before merging. Andrey