Hello, On Wed, May 10, 2023 at 11:09:55AM -0700, Brian Norris wrote: > I'll admit, the workqueue documentation sounds a bit like "max_active == > 1 + WQ_UNBOUND" is what we want ("one work item [...] active at any > given time"), but that's more of my misunderstanding than anything -- > each work item can only be active in a single context at any given time, > so that note is talking about distinct (i.e., more than 1) work items. Yeah, a future patch is gonna change the semantics a bit and I'll update the doc to be clearer. > While I'm here: we're still debugging what's affecting WiFi performance > on some of our WiFi systems, but it's possible I'll be turning some of > these into struct kthread_worker instead. We can cross that bridge > (including potential conflicts) if/when we come to it though. Can you elaborate the performance problem you're seeing? I'm working on a major update for workqueue to improve its locality behavior, so if you're experiencing issues on CPUs w/ multiple L3 caches, it'd be a good test case. Thanks. -- tejun