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.

Reply via email to