From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11023096.outbound.protection.outlook.com [40.107.162.96]) by lore.virtuozzo.com (Postfix) with ESMTPS id 0CA6480E7E for ; Thu, 29 Oct 2026 09:23:09 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=L5qXMkKk3e+9PtWzOUOXRkU2AnTNUbRQrtRyW4Q/f5Clkfle2jBd6YkF23y3UbcBxQJBxbwHek2EzODTuPIMA6pBeDM66xe/DbGTAPWVn3RwH75QROS9FXjb7eYT8Y6zqMdXDuXmMe51tKrDhPmcfUHrsB1R4cznocIWlDLLFzp35DAQdwe1scMu8EK7kL87nUq4xNB5qGzn3ccsdCG+LtttGt6ldlbLJ8B4pFROFxyrA/kjp/kg5p83MyizxH/ECbyZIiFkf/ZoDRlnz1Rtrf6Ap8zLrG9Rt8oHG0gt7E0K9LheAUa4BQW9EtjCFbS0OFaPVATUCALpgchI0b74og== 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=XfFnwCQRWXTV6El3tRQkPVYgAGQug/AzZDQxbWvcRSk=; b=KQ1xK+6yI9u7BtHpJRj+NIV+8lWHpReisvQVA5zGsLSZj/MIc/XFlZQX71mTtTGeBo0o/gyC7jWzQ0ijmhA+ycSBW0KeZKR35tnxY6/1Fv/IiNF+TseyzS6vOcguJvaOLCPOQ4A32Ae2eypXACmggaobBwBp6lIuNxG8dIKWa789GyBftdx6e1cLqOM750vW21xOU6dsWwwzZbDN+3pqnc8aldwIMUEsWlJvUcmsrrKdQNmqzzdrjK0nfRproYy29sHpXeMBPJRzj71anhP7JZwaUorT9C+epvFtRJR/kbmDW14Okq5pZ298VHJ5VCmEpEA9/nx5cyTwlvBn+KyE+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 130.117.225.111) smtp.rcpttodomain=virtuozzo.com smtp.mailfrom=virtuozzo.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=virtuozzo.com; dkim=pass (signature was verified) header.d=virtuozzo.com; arc=none (0) 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=XfFnwCQRWXTV6El3tRQkPVYgAGQug/AzZDQxbWvcRSk=; b=pjIDeTOb8MiVI/HtjPbND3nC4fxSkUmjpG8ALTU06tBT6QJhshZNG780jsGvVtT+klgUL4ziggJUT61PMsur+w09mNhKwqGpfYZf/8QyYjbSCTqHE6a/SfUTXXZG2hK+cBFBuvmSTF5mKjdK6duDQcQI+aBnSRNBttGefMEanFM8wxojR5h0/1qVAx9k93EJkmJkzTQ/P4suLYCUNHy9Yu6h37VIJDr9jcC3nabO4rTpp1qKKERadT8YUgWzRBS5fxabCZ0zfC58ptlaBLB5QZNhAwoAUJiAjIjI+9J0jSNsTx0TipYSmvY9TYMBuyW9RESmqEMlRjOCOyqJaPBGSg== Received: from DU7PR01CA0007.eurprd01.prod.exchangelabs.com (2603:10a6:10:50f::7) by CPH1PF7A5CFA3AE.eurprd08.prod.outlook.com (2603:10a6:388::50b) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.22; Thu, 29 Oct 2026 09:23:06 +0000 Received: from DU2PEPF00028D13.eurprd03.prod.outlook.com (2603:10a6:10:50f:cafe::40) by DU7PR01CA0007.outlook.office365.com (2603:10a6:10:50f::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.569.8 via Frontend Transport; Thu, 29 Oct 2026 09:23:06 +0000 X-MS-Exchange-Authentication-Results: mx.microsoft.com 1; spf=pass (sender IP is 130.117.225.111) smtp.mailfrom=virtuozzo.com; dkim=pass (signature was verified) header.d=virtuozzo.com;dmarc=pass action=none header.from=virtuozzo.com; Received-SPF: Pass (protection.outlook.com: domain of virtuozzo.com designates 130.117.225.111 as permitted sender) receiver=protection.outlook.com; client-ip=130.117.225.111; helo=relay.virtuozzo.com; pr=C Received: from relay.virtuozzo.com (130.117.225.111) by DU2PEPF00028D13.mail.protection.outlook.com (10.167.242.27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.569.4 via Frontend Transport; Thu, 29 Oct 2026 09:23:06 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=MIME-Version:Message-ID:Date:Subject:From: Content-Type; bh=XfFnwCQRWXTV6El3tRQkPVYgAGQug/AzZDQxbWvcRSk=; b=H/bKam1m59U1 YeLUBAN6tm+NfKvReaSCteaSGf7+y1t6j4LKZiJdabFt/cJj4poiXxiAkVBTG5Sy+tvFE6VKe+E94 RBLo0DmNYeDB0ShqMWSrGKUL1LKsRZTsYoSzuNMJz4+kDzrBLMsQiGLE8A1/lgmqkElEGMO+IWzP+ b2L5hq+undosqCcylVOABEqh9kmYH6sjuk6kMuR9AVKi/e+5kFsDYPFvhbzFzxiBt5CrKPh7636ms kheuMdwOt26jMgRMl3zAWFcwGRtB1ccXQ5/x5uOxX0CdpYmw2/Mhr+tDEapfdBKYJPx9kCQ8dGcpN 4XJytBB31yw6QQd3rfAe2A==; Received: from ch-vpn.virtuozzo.com ([130.117.225.6] helo=sky) by relay.virtuozzo.com with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1xMMHu-000QvD-22; Thu, 29 Oct 2026 10:23:04 +0100 From: Alexander Ivanov To: andrey.zhadchenko@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, svt-core@virtuozzo.com Subject: [PATCH hci-8.1 v4 0/5] vhost-blk: switch from VHOST_SET_NWORKERS to the mainstream worker ioctls Date: Thu, 29 Oct 2026 10:22:56 +0100 Message-ID: <20261029092301.3286535-1-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.53.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PEPF00028D13:EE_|CPH1PF7A5CFA3AE:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e90f9bc-5fab-4050-677b-08df359e3da8 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|1800799024|82310400026|36860700016|376014|23010399003|56012099006|261026140227099003|5113699003|18002099003|261028144727099003|10067099003|261009221227099003|261022105027099003|261021123027099003|261021121427099003|261009223027099003|261026121527099003; X-Microsoft-Antispam-Message-Info: wDkb2IQpym76SX/uVP9iAFOC60bpBJYbvMyPQ2g1dgJaLb6DYbnaphYXY0JJenhxZglwoEv7ytImi7wNdjtTIGEHlS4YPOS0I7yITswO9Phi6ZOHmroyGkRq23HgUO/LfWc9sC0NfJi8SEvfswIjCfimdjZ3XkzW5rRGctXfiINkY2jarzPyiipgUPdcQGn5jkDJsa7Vbwe34O7Hqx+wGMF+tzhfIoaAMyHpvypPiiATLqRGy5mlPQyicQj9X5T9y1v2ofmQmBzqLLDYaVCV8SllBNo2aI+3Wn8IzwlnvPrBPTRlLs75oVcPpnRfqpj1tB4EifBDZaKVrSlUSxYm5JbiQFGfB6yB0gKSzlyr7ghmf4fywLILrRzNW6xBiXYkPtaWkbML/kfLejPgmaBaM2gU6W/upa1jXgoztceoCy00NiEsO7fZMH0pOmqWJfrrqolOfAHLcdHG7WlI0qHU7OpmhdFmUwSwGeNEaNksFvo+BZLmfK6P5TgAZ9cQutArm5fAXjTfyAQlO+TIARzDGPgL7tFaF2UZOHC9Gwal1f/nphB6OPuXnj7Vu++mrkkw7bk49AdNS4QCDVujHcgivH4cYpQJdAhtTs+QYjfR1r2raG4PlSvgM91UkZbxBhhxzM1YlGMe2ZFMUgXyeIBuzdw5nJMLTtgfyZca+HJlgOk= X-Forefront-Antispam-Report: CIP:130.117.225.111;CTRY:CH;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:relay.virtuozzo.com;PTR:relay.virtuozzo.com;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700016)(376014)(23010399003)(56012099006)(261026140227099003)(5113699003)(18002099003)(261028144727099003)(10067099003)(261009221227099003)(261022105027099003)(261021123027099003)(261021121427099003)(261009223027099003)(261026121527099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: VoTqowapREyi9GJDtqXcoJ2nokTJFtQLa8swXvf6nq6pmNumugIT+A1la9JObM/G9vA1k+nXE3mKUBrQDoiZf3a3ltHkIKjKJ4eBQkUiVhOME/vvO4LGDQ4EBSSN04kpiNQXKIMqUs0dyNs2W799a44kUfYyTOGRpz+0VJaPQ0HzZtreLiAC7kwzNyi2ob4IyPEBY5cyJnZwnYZQxNrn7rmlNVoMq9xhEUF/vYQ+7ZudKXv4YbqNvDXM6IpyBkANez5c+rTIQGmdAvIk2xmfKMf8oKSplnacv3jvElotWJ5dbN1Rv+uZ1Ch+184nch7bZcqDNAOydP4OeX4/eZa5P8YxO/MbrXsElZEEsRC4o34MkJoOTCrq/uriXpJXfG+MHKDZy38lJN5M7Ua9Dc6SvXy986bLYR8WRzBzjxozvHEHpjs02n4ZRl742VA/kyeO X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2026 09:23:06.5355 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6e90f9bc-5fab-4050-677b-08df359e3da8 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=0bc7f26d-0264-416e-a6fc-8352af79c58f;Ip=[130.117.225.111];Helo=[relay.virtuozzo.com] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF00028D13.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CPH1PF7A5CFA3AE The kernel drops our VHOST_SET_NWORKERS ioctl in favour of the mainstream VHOST_NEW_WORKER/VHOST_ATTACH_VRING_WORKER, which vhost-blk now supports. Patch 1 wraps VHOST_SET_FORK_FROM_OWNER in a vhost backend op. Patch 2 refuses num-queues above VHOST_BLK_MAX_QUEUES at realize. Patch 3 is a cleanup taking &s->dev into a local pointer. Patch 4 makes vhost-blk create its num-threads workers with the mainstream ioctls, keeping the same worker layout, and fall back to fewer threads when the kernel cannot provide them. Patch 5 drops VHOST_SET_NWORKERS from linux-headers. v4: - new patch 3: split the &s->dev -> hdev conversion out of patch 4 - patch 2: quote the error realize fails with, add Fixes: - patch 4: do not key on the errno; on any worker ioctl failure warn and continue with the threads created so far instead of failing to start vhost-blk - patch 4: drop the comments, explain in the commit message instead v3: - new patch 1: call VHOST_SET_FORK_FROM_OWNER, VHOST_NEW_WORKER and VHOST_ATTACH_VRING_WORKER through vhost_ops instead of raw ioctls - new patch 2: refuse num-queues above VHOST_BLK_MAX_QUEUES at realize instead of clamping num-threads in patch 3 - patch 3: create each worker right before attaching its first vq v2: - patch 1: clamp num-threads to VHOST_BLK_MAX_QUEUES - patch 1: note in the commit message that our kernel, unlike mainline, defaults to kthreads https://virtuozzo.atlassian.net/browse/VSTOR-107537 Alexander Ivanov (5): vhost-backend: add vhost_set_fork_from_owner op vhost-blk: reject num-queues above VHOST_BLK_MAX_QUEUES vhost-blk: use a local vhost_dev pointer in start and stop vhost-blk: create kernel threads with the mainstream worker ioctls linux-headers: drop VHOST_SET_NWORKERS hw/block/vhost-blk.c | 97 +++++++++++++++++++++++++------ hw/virtio/vhost-backend.c | 7 +++ include/hw/virtio/vhost-backend.h | 3 + linux-headers/linux/vhost.h | 9 --- 4 files changed, 88 insertions(+), 28 deletions(-) -- 2.53.0