> -----Original Message----- > From: Peter Zijlstra [mailto:[email protected]] > Sent: Wednesday, September 03, 2014 5:54 PM > To: Andy Lutomirski > Cc: Liu, Chuansheng; [email protected]; Rafael J. Wysocki; Daniel > Lezcano; Wang, Xiaoming; Ingo Molnar; Chakravarty, Souvik K; Liu, Changcheng; > [email protected] > Subject: Re: [PATCH 1/3] sched: Add new API wake_up_if_idle() to wake up the > idle cpu > > On Thu, Aug 21, 2014 at 02:21:51PM -0700, Andy Lutomirski wrote: > > On Aug 18, 2014 3:52 AM, "Chuansheng Liu" <[email protected]> > wrote: > > > > +void wake_up_if_idle(int cpu) > > > +{ > > > + struct rq *rq = cpu_rq(cpu); > > > + unsigned long flags; > > > + > > > + if (set_nr_if_polling(rq->idle)) { > > > + trace_sched_wake_idle_without_ipi(cpu); > > > + } else { > > > + > > > > FWIW, adding: > > > > if (rq->curr != rq->idle) > > return; > > > > Right here could improve performance on large, mostly non-idle > > systems. It would skip the spinlock in most cases. > > > > !is_idle_task() :-) Thanks Peter and Andy, will refine the patches again:)
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

