[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1480402985-7317-1-git-send-email-jacob.jun.pan@linux.intel.com>
Date: Mon, 28 Nov 2016 23:03:03 -0800
From: Jacob Pan <jacob.jun.pan@...ux.intel.com>
To: LKML <linux-kernel@...r.kernel.org>,
Linux PM <linux-pm@...r.kernel.org>,
Rafael Wysocki <rafael.j.wysocki@...el.com>,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>
Cc: Zhang Rui <rui.zhang@...el.com>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
Len Brown <lenb@...nel.org>,
Eduardo Valentin <edubezval@...il.com>,
Petr Mladek <pmladek@...e.com>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Thomas Gleixner <tglx@...utronix.de>,
Jacob Pan <jacob.jun.pan@...ux.intel.com>
Subject: [PATCH v5 0/2] Stop sched tick in idle injection task
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
Powered by blists - more mailing lists