Messages in this thread | | | Date | Mon, 28 Nov 2016 13:46:22 -0800 | From | Jacob Pan <> | Subject | Re: [PATCH v4 1/2] idle: add support for tasks that inject idle |
| |
On Mon, 28 Nov 2016 22:39:07 +0100 "Rafael J. Wysocki" <rafael@kernel.org> wrote:
> On Mon, Nov 28, 2016 at 10:33 PM, Jacob Pan > <jacob.jun.pan@linux.intel.com> wrote: > > From: Peter Zijlstra <peterz@infradead.org> > > > > Idle injection drivers such as Intel powerclamp and ACPI PAD > > drivers use realtime tasks to take control of CPU then inject idle. > > There are two issues with this approach: > > > > 1. Low efficiency: injected idle task is treated as busy so sched > > ticks do not stop during injected idle period, the result of these > > unwanted wakeups can be ~20% loss in power savings. > > > > 2. Idle accounting: injected idle time is presented to user as > > busy. > > > > This patch addresses the issues by introducing a new PF_IDLE flag > > which allows any given task to be treated as idle task while the > > flag is set. Therefore, idle injection tasks can run through the > > normal flow of NOHZ idle enter/exit to get the correct accounting > > as well as tick stop when possible. > > > > The implication is that idle task is then no longer limited to PID > > == 0. > > > > Acked-by: Ingo Molnar <mingo@kernel.org> > > Signed-off-by: Peter Zijlstra <peterz@infradead.org> > > Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com> > > Have you made any changes to the original Peter's patch, or is this > just a resend of that? No changes made to Peter's patch. I just rebased to v4.9-rc7 and tested it.
| |