What you're observing isn't a bug, but rather a result of how the Linux
scheduler interacts with the isolcpus boot parameter and the default
scheduling policy (SCHED_OTHER).
When you use isolcpus=1-3, those CPUs are removed from the kernel’s
load-balancing domains. As a result, under SCHED_OTHER, the scheduler
does not actively migrate threads between those isolated CPUs. So when a
multi-threaded program is launched with taskset -c 1-3, all threads
typically stay on the CPU where they were first scheduled (in your case
CPU 3), leading to the imbalance you observed.
In contrast, real-time scheduling policies like SCHED_FIFO (used with
chrt -f) don’t rely on load balancing at all. Threads are immediately
scheduled on any available CPU within their affinity mask, leading to
the even distribution you see when using chrt.
** Changed in: linux (Ubuntu)
Status: Incomplete => Invalid
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2116749
Title:
Thread affinity broken under isolcpus
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2116749/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs