On 30 September 2012 14:24, Tejun Heo <t...@kernel.org> wrote: > On Thu, Sep 27, 2012 at 02:34:05PM +0530, Viresh Kumar wrote: >> - A cpu has programmed a timer and is IDLE now. >> - CPU gets into interrupt handler due to timer and queues a work. As the CPU >> is >> currently IDLE, we can queue this work to some other CPU. > > I'm still a bit confused, if the CPU is already running the IRQ > handler, the CPU is not idle by definition. What am I missing here?
Hi Tejun, For the scheduler CPU is idle, if all below are true: - current task is idle task - nr_running == 0 - wake_list is empty And during these conditions, there can be a timer running in background. And when we reach its interrupt handler, then also these conditions hold true and local cpu is idle. -- Viresh _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev