Hi,
let's look at the example:
The system is running with the following kernel parameters:
isolcpus=10, nohz_full=10, nohz=on, idle=poll, intel_pstate=disable.
We have a thread T that uses Thread.onSpinWait() while polling a lock-free shared queue. In this context, the task interval refers to the time elapsed between adding consecutive tasks to the queue.
When thread T is pinned to CPU #10 and the task interval is set to 1ms, the average task execution time is 100 µs. However, when the task interval is increased to 40ms on the same pinned core, the average execution time significantly degrades to 250 µs.
In contrast, when thread T is unpinned, the performance remains much more consistent. At a 1ms task interval, the average execution time is 110 µs, and it only slightly increases to 120 µs when the interval is extended to 40ms.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/mechanical-sympathy/4fbbd936-a784-45b2-a58e-61a292aad704n%40googlegroups.com.
When thread T is pinned to CPU #10 and the task interval is set to 1ms, the average task execution time is 100 µs. However, when the task interval is increased to 40ms on the same pinned core, the average execution time significantly degrades to 250 µs. If T is not pinned, the result is same.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/mechanical-sympathy/9c15417b-8c8c-4b76-b63e-1f9d38d507e0n%40googlegroups.com.