Hello, On Sun, 26 Feb 2023 07:01:41 -1000, Tejun Heo wrote: > Hmm... the allowed cpumasks for unbounded workqueues can already be set > through /sys/devices/virtual/workqueue/cpumask and also each individual > workqueue can be exposed in the matching subdirectory by setting WQ_SYSFS. > Wouldn't the proposed btrfs option be a bit reduandant? Thank you for the comment. I just realized the sysfs facility for this. So I will take a look into it deeper. For now, I have several reasons to use the `wq_cpu_set` option: 1. Currently, there are 15 btrfs workqueues. It would not be convenient to let the user manage each of them via the sysfs. Using `wq_cpu_set` option at mounting time allows the user to set all of them in one shot. (for btrfs maintainers): I am also not sure if the number of btrfs workqueues is stable so that the user can rely on the WQ_SYSFS facility. 2. I looked at /sys/devices/virtual/workqueue/ and saw its subdirectories. The directory name is taken from the wq->name. But how to distinguish multiple workqueues with the same name? Each btrfs mount will at least do this: alloc_workqueue("btrfs-compressed-write", flags, max_active); When we do: mount -t -o rw btrfs /dev/sda1 a; mount -t -o rw btrfs /dev/sda2 b; mount -t -o rw btrfs /dev/sda3 c; mount -t -o rw btrfs /dev/sda4 d; Is there a way to identify which sysfs devices correspond to a specific mounted btrfs fs workqueues? Let's say I want each mount to have a different CPU mask. -- Ammar Faizi