On 31 March 2016 at 12:47, Peter Zijlstra <[email protected]> wrote: > On Thu, Mar 31, 2016 at 11:50:40AM +0200, Vincent Guittot wrote: >> > In what case? Assuming you talk about a remove wakeup, no. Only if that >> > wakeup results in a preemption, which isn't a given. >> >> yes, i was speaking about a remote wakeup. >> In the ttwu_queue_remote, there is a call to smp_send_reschedule. Is >> there another way to add a remote task in the wake list ? > > Right, but at that point we don't yet know how much util will change. > > And doing that IPI unconditionally is expensive; see: > > 518cd6234178 ("sched: Only queue remote wakeups when crossing cache > boundaries") > > 13% regression on TCP_RR.
Ok. In fact, I looks for the sequence where the utilization of a rq is not updated until the next tick but i can't find it. If cpu doesn't share cache, task is added to wake list and an ipi is sent and the utilization. Otherwise, we directly enqueue the task on the rq and the utilization is updated Is there another path ?

