From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752335AbdGRWZN (ORCPT ); Tue, 18 Jul 2017 18:25:13 -0400 Received: from mail-vk0-f50.google.com ([209.85.213.50]:33164 "EHLO mail-vk0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751485AbdGRWZM (ORCPT ); Tue, 18 Jul 2017 18:25:12 -0400 From: Alexei Potashnik References: <20170718191829.GA11583@infradead.org> 33627bbb8ac8a2aa40ce79c6b82f0764@mail.gmail.com In-Reply-To: 33627bbb8ac8a2aa40ce79c6b82f0764@mail.gmail.com MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQGjC+bXdyQUOBB9RHZCYJYM4GHb2gJDHYnxoqfpOWCAAA7UcA== Date: Tue, 18 Jul 2017 15:25:09 -0700 Message-ID: <670ecddd05542f505f9c3b06ab1e66fb@mail.gmail.com> Subject: RE: [PATCH] workqueue: doc change for ST behavior on NUMA systems To: Christoph Hellwig Cc: tj@kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Actually there are few more places in the tree that still do this. I doubt they actually need per-NUMA node serialization: arch/powerpc/platforms/pseries/dlpar.c: WQ_UNBOUND, 1); drivers/lightnvm/pblk-init.c: WQ_MEM_RECLAIM | WQ_UNBOUND, 1); drivers/md/dm-integrity.c: ic->wait_wq = alloc_workqueue("dm-integrity-wait", WQ_MEM_RECLAIM | WQ_UNBOUND, 1); drivers/md/dm.c: deferred_remove_workqueue = alloc_workqueue("kdmremove", WQ_UNBOUND, 1); drivers/media/platform/coda/coda-common.c: dev->workqueue = alloc_workqueue("coda", WQ_UNBOUND | WQ_MEM_RECLAIM, 1); drivers/net/ethernet/cavium/thunder/nic_main.c: WQ_UNBOUND | WQ_MEM_RECLAIM, 1); drivers/net/ethernet/intel/i40e/i40e_main.c: i40e_wq = alloc_workqueue("%s", WQ_UNBOUND | WQ_MEM_RECLAIM, 1, drivers/net/ethernet/intel/i40evf/i40evf_main.c: i40evf_wq = alloc_workqueue("%s", WQ_UNBOUND | WQ_MEM_RECLAIM, 1, drivers/net/wireless/intel/iwlwifi/pcie/rx.c: WQ_HIGHPRI | WQ_UNBOUND, 1); drivers/net/wireless/marvell/mwifiex/cfg80211.c: WQ_UNBOUND, 1, name); drivers/net/wireless/marvell/mwifiex/main.c: WQ_HIGHPRI | WQ_MEM_RECLAIM | WQ_UNBOUND, 1); drivers/net/wireless/marvell/mwifiex/main.c: WQ_UNBOUND, 1); drivers/net/wireless/marvell/mwifiex/main.c: WQ_HIGHPRI | WQ_MEM_RECLAIM | WQ_UNBOUND, 1); drivers/net/wireless/marvell/mwifiex/main.c: WQ_UNBOUND, 1); drivers/staging/greybus/connection.c: connection->wq = alloc_workqueue("%s:%d", WQ_UNBOUND, 1, drivers/staging/greybus/svc.c: svc->wq = alloc_workqueue("%s:svc", WQ_UNBOUND, 1, dev_name(&hd->dev)); drivers/target/target_core_device.c: dev->tmr_wq = alloc_workqueue("tmr-%s", WQ_MEM_RECLAIM | WQ_UNBOUND, 1, fs/dlm/lowcomms.c: WQ_UNBOUND | WQ_MEM_RECLAIM, 1); fs/dlm/lowcomms.c: WQ_UNBOUND | WQ_MEM_RECLAIM, 1); fs/ext4/super.c: alloc_workqueue("ext4-rsv-conversion", WQ_MEM_RECLAIM | WQ_UNBOUND, 1); -----Original Message----- From: Alexei Potashnik [mailto:alexei@purestorage.com] Sent: Tuesday, July 18, 2017 2:33 PM To: 'Christoph Hellwig' Cc: 'tj@kernel.org' ; 'linux-kernel@vger.kernel.org' Subject: RE: [PATCH] workqueue: doc change for ST behavior on NUMA systems target has a bug in TMR handling. dev->tmr_wq = alloc_workqueue("tmr-%s", WQ_MEM_RECLAIM | WQ_UNBOUND, 1, dev->transport->name); LUN_RESET can race with TASK_ABORT in different sessions. Will send a patch to target list. -----Original Message----- From: Christoph Hellwig [mailto:hch@infradead.org] Sent: Tuesday, July 18, 2017 12:18 PM To: Alexei Potashnik Cc: tj@kernel.org; linux-kernel@vger.kernel.org Subject: Re: [PATCH] workqueue: doc change for ST behavior on NUMA systems On Tue, Jul 18, 2017 at 11:12:53AM -0700, Alexei Potashnik wrote: > NUMA rework of workqueue made the combination of max_active of 1 and > WQ_UNBOUND insufficient to guarantee ST behavior system wide. > > alloc_ordered_queue should now be used instead. Eww. And how many existing users might be broken by that?