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 [email protected]. To view this discussion, visit https://groups.google.com/d/msgid/mechanical-sympathy/4fbbd936-a784-45b2-a58e-61a292aad704n%40googlegroups.com.
