Changelog: v5: - Fix compile error in cpuidle patch reported by 0-day. - Reverse patch order for correct dependency.
v4: - Misc comments from Ingo are addressed, including style fix, timeout handling, fork(). - Dropped powerclamp patch from this set, move to its own series. v3: - Rearrange idle.c change based on Rafael's suggestion. v2: - Moved duration timer from powerclamp driver to play_idle() - Unexport cpuidle_use_deepest_state - Indentation fix Idle injection drivers today use RT threads to run idle loop. There are efficiency and accounting issues with the current intel_powerclamp.c and acpi_pad.c. A while ago, I posted CFS based idle injection patch trying to address them: https://lkml.org/lkml/2015/11/13/576 Peter proposed another approach with the introduction of a PF_IDLE flag. This patchset is based on his original posting: https://lkml.org/lkml/2014/6/4/56 These patches apply on top of the kworker and cpu hotplug state machine changes made to Intel powerclamp driver. https://lkml.org/lkml/2016/10/17/362 Similar changes to ACPI PAD driver is developed along with other enhancements. It will be posted after this patchset is accepted. Jacob Pan (1): cpuidle: allow setting deepest idle Peter Zijlstra (1): idle: add support for tasks that inject idle drivers/cpuidle/cpuidle.c | 13 +++- include/linux/cpu.h | 2 + include/linux/cpuidle.h | 7 +- include/linux/sched.h | 3 +- kernel/fork.c | 2 +- kernel/sched/core.c | 1 + kernel/sched/idle.c | 175 +++++++++++++++++++++++++++++----------------- 7 files changed, 133 insertions(+), 70 deletions(-) -- 1.9.1