From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 64B0B2D47EE for ; Mon, 17 Nov 2025 10:17:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763374631; cv=none; b=hm6IjRyr10XIjKCsVDk62odQmBVdITnB2Z/5pIJcomfI6n0su7xpUMtamAQ05mwgtVovTSyztb91mw5ONOch7rIbOynnZ+AQmcsgaM0qYXTVgflSNHGqH9qJcUIJrtAakT9pwfku8cHCBDXNXB4RP2ZioK3lFu+F7V94LsQ4XtM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763374631; c=relaxed/simple; bh=o7kXX0RPLQ0nYMfqvkQvBpbLY/zrqTRR2MDUo7xgM/8=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=F3V4ggq/MErSjS8GD/YHg+yoGC7HKtgE+GBpuxdqIXwCz3Mm/3oZy2JCnt4b9zYenTKkgAexxjhoprD3jHaQjmCyz/k700daoiN+4pJk4jom5GGqx7bxwyz6j8Jrk2T/Kg6moMTbb5+cQT/NuRq77XCJtZcqISuV/xXbmqpRE6g= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=GeXpljVC; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=bg4rCjtd; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="GeXpljVC"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="bg4rCjtd" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1763374627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=DKtAV7uj9Q5JrTVGQ18jEKZJYnX6MI+dW/m85jGdlyY=; b=GeXpljVCm400hBbEL/p/tFD1z1zhryFn4Imp1xJebHjHMNMd8tzsK5VkQg0R0GOB51lWE6 q/nMCdPZORPORnND8G/l7IbIbL2Bfahuc6UNs1pFoOTBBV/lzjy+Iu62YVUZ4NqToz34Fu yQK8MWlwXe4MFx4Vr2DHcLiwMIKbOAE= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-587-8rVCHVM2Nb6Gi4tYyf2SkQ-1; Mon, 17 Nov 2025 05:17:03 -0500 X-MC-Unique: 8rVCHVM2Nb6Gi4tYyf2SkQ-1 X-Mimecast-MFC-AGG-ID: 8rVCHVM2Nb6Gi4tYyf2SkQ_1763374623 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-429ca3e7245so1607566f8f.3 for ; Mon, 17 Nov 2025 02:17:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1763374623; x=1763979423; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=DKtAV7uj9Q5JrTVGQ18jEKZJYnX6MI+dW/m85jGdlyY=; b=bg4rCjtdYGsAuO5Y6jEvte0lE3+1VsmOCG0Vd+Hmaug7lNhXOCHzpyhAz6Jlc1aXow 22wmHA719i2KWsndnNwMyq3VrTlMBtBBqXNw4ipfyoegP26ihK0ZZY2bMUKmxPWazh7N 02plv4HjeUcle6or+7Avkmc+52/LbUWMRrRWJ9Ob1TQcuFbfQfL6eoSPx0UE0OTMhAmj vPfxT/OdRdieweAVRaQE9w7BPe7+fPyg15O/shNqyzt4ZK4lD3r5u9FSTsnajnneIN+a xWpTN1mJfJ0YgFW8IST3m1Vd909sWhifNa478YqYxFGdpQlPQ07/L+xh41fhoQ/pY1Nj RiNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763374623; x=1763979423; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DKtAV7uj9Q5JrTVGQ18jEKZJYnX6MI+dW/m85jGdlyY=; b=PquixNKbZeuaC6gBCZeNNh5MWyic0cRGkIijno+zymxPPmvYYGhom+FQ5KDZeHWQHo YNOW+68oesu85eweC5+XxPH6SBIGPH57eF0l4yyf3owYNaGwb2Sd3LhnpnVXYQZ/qXCT A04iRDu8c1p84fqILo4LsFzUuzDf3YSIxXBdLeEzPEhzbEwJP746m6IRJkybE2mPcFnL pCIczoHL/NtvnyVnrFZRgo2rvFPH5OfuBwJsWJko8fK56C5uk8+LNE3Y2gRhyfJ6DOyA 5NFtLKRwdcFcTUw284nOFhHiVL/1gIBVzea9V2Rn6yOBG29uZJJ/VHBgRNXkNyDjokXH HknQ== X-Gm-Message-State: AOJu0YxWWEasiIHvaGRcNIA76KYka4c9MVTCY5rM+OLq+Wlggg/CzyPJ 5ulza3yQHDqLtFthjg50JPkDcWD/rRGmqeLYkQOU6ik1xADCoa0qxIEp1IWlWi+2JHe1sOc4Ajj 3qoYDR3xBrU8422ZGWJjUEYyH4PDfsRe3DqzzWvcDqSOgBWUi7mYruzwT4ajDAMGvZw== X-Gm-Gg: ASbGnctAbfstpEod6oCCZfcEai55No6hEqX9UZSf0/x7vussRJbEbQgmr633Mx0wlJe ipc+k+8m4qMagPFckZHyS+8wVHmy2E0DdFyNgQGs7X2SipF44wo0w65kxPUN2xgZ4L5NWKoPf4d UOCmk/DGHWpwAkzj6hmW7LBczKpGqf02mcNX02vKE2gNikXtab08eZMT7uo6PDlD2S/Xpx8wzfQ x3CSbwjeqIVWzoct9jexW0ivGDA0aC8xGHqrOjTRAX3NVJjUTUCXinR3m9P0LBXypdfnZgrG0ny 04Yc168++2EknbLhurD+V1NBGG9NmAqNo2JJTgE6sZ9n4/Jlg917/tZ+IvDIN7r7S4ZagNq59RL MU7h1Kjzo4u2kdTS57IE= X-Received: by 2002:a05:6000:1449:b0:429:c4bb:fbc4 with SMTP id ffacd0b85a97d-42b59367894mr11563582f8f.25.1763374622455; Mon, 17 Nov 2025 02:17:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IGaib2b+VX5Urwcd5csnh/3M+yBJ32yTSo0v68+WHEdzkMgog6bBuPAjinpdOdZ3rqCx4Nysg== X-Received: by 2002:a05:6000:1449:b0:429:c4bb:fbc4 with SMTP id ffacd0b85a97d-42b59367894mr11563560f8f.25.1763374621928; Mon, 17 Nov 2025 02:17:01 -0800 (PST) Received: from redhat.com (IGLD-80-230-39-63.inter.net.il. [80.230.39.63]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42b53e85627sm26755235f8f.16.2025.11.17.02.17.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Nov 2025 02:17:01 -0800 (PST) Date: Mon, 17 Nov 2025 05:16:58 -0500 From: "Michael S. Tsirkin" To: Marco Crivellari Cc: linux-kernel@vger.kernel.org, virtualization@lists.linux.dev, Tejun Heo , Lai Jiangshan , Frederic Weisbecker , Sebastian Andrzej Siewior , Michal Hocko , David Hildenbrand , Jason Wang , Xuan Zhuo , Eugenio Perez Subject: Re: [PATCH 0/2] add WQ_PERCPU to alloc_workqueue() in virtio_balloon and vduse Message-ID: <20251117051617-mutt-send-email-mst@kernel.org> References: <20251107154917.313090-1-marco.crivellari@suse.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20251107154917.313090-1-marco.crivellari@suse.com> On Fri, Nov 07, 2025 at 04:49:15PM +0100, Marco Crivellari wrote: > Hi, > > === Current situation: problems === > > Let's consider a nohz_full system with isolated CPUs: wq_unbound_cpumask is > set to the housekeeping CPUs, for !WQ_UNBOUND the local CPU is selected. > > This leads to different scenarios if a work item is scheduled on an > isolated CPU where "delay" value is 0 or greater then 0: > schedule_delayed_work(, 0); > > This will be handled by __queue_work() that will queue the work item on the > current local (isolated) CPU, while: > > schedule_delayed_work(, 1); > > Will move the timer on an housekeeping CPU, and schedule the work there. > > Currently if a user enqueue a work item using schedule_delayed_work() the > used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use > WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to > schedule_work() that is using system_wq and queue_work(), that makes use > again of WORK_CPU_UNBOUND. > > This lack of consistency cannot be addressed without refactoring the API. > > === Recent changes to the WQ API === > > The following, address the recent changes in the Workqueue API: > > - commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq") > - commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag") > > The old workqueues will be removed in a future release cycle. > > === Introduced Changes by this series === > > 1) [P 1-2] WQ_PERCPU added to alloc_workqueue() > > This adds a new WQ_PERCPU flag to explicitly request alloc_workqueue() > to be per-cpu when WQ_UNBOUND has not been specified. > > Thanks! > > Marco Crivellari (2): > virtio_balloon: add WQ_PERCPU to alloc_workqueue users > vduse: add WQ_PERCPU to alloc_workqueue users To make sure, this does not seem to introduce any functional change - you want me to queue this now? > drivers/vdpa/vdpa_user/vduse_dev.c | 3 ++- > drivers/virtio/virtio_balloon.c | 3 ++- > 2 files changed, 4 insertions(+), 2 deletions(-) > > -- > 2.51.1