On 9/11/24 10:23 AM, Felix Moessbauer wrote: > Hi, > > as discussed in [1], this is a manual backport of the remaining two > patches to let the io worker threads respect the affinites defined by > the cgroup of the process. > > In 6.1 one worker is created per NUMA node, while in da64d6db3bd3 > ("io_uring: One wqe per wq") this is changed to only have a single worker. > As this patch is pretty invasive, Jens and me agreed to not backport it. > > Instead we now limit the workers cpuset to the cpus that are in the > intersection between what the cgroup allows and what the NUMA node has. > This leaves the question what to do in case the intersection is empty: > To be backwarts compatible, we allow this case, but restrict the cpumask > of the poller to the cpuset defined by the cgroup. We further believe > this is a reasonable decision, as da64d6db3bd3 drops the NUMA awareness > anyways. > > [1] https://lore.kernel.org/lkml/ec01745a-b102-4f6e-abc9-abd636d36319@xxxxxxxxx The upstream patches are staged for 6.12 and marked for a backport, so they should go upstream next week. Once they are upstream, I'll make sure to check in on these on the stable front. -- Jens Axboe