From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754167AbcKITHF (ORCPT ); Wed, 9 Nov 2016 14:07:05 -0500 Received: from mga03.intel.com ([134.134.136.65]:1029 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752325AbcKITHD (ORCPT ); Wed, 9 Nov 2016 14:07:03 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,614,1473145200"; d="scan'208";a="29427228" From: Jacob Pan To: LKML , Linux PM , Peter Zijlstra , Thomas Gleixner , Ingo Molnar Cc: Zhang Rui , Rafael Wysocki , "Chen, Yu C" , Sebastian Andrzej Siewior , Petr Mladek , Srinivas Pandruvada , Arjan van de Ven , Jacob Pan Subject: [PATCH 0/3] Stop sched tick in idle injection task Date: Wed, 9 Nov 2016 11:05:09 -0800 Message-Id: <1478718312-12847-1-git-send-email-jacob.jun.pan@linux.intel.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 (2): cpuidle: allow setting deepest idle thermal/powerclamp: use PF_IDLE in injection kthread Peter Zijlstra (1): idle: add support for tasks that inject idle drivers/cpuidle/cpuidle.c | 12 +++ drivers/thermal/intel_powerclamp.c | 58 ++++++--------- include/linux/cpu.h | 2 + include/linux/cpuidle.h | 4 +- include/linux/sched.h | 3 +- kernel/fork.c | 3 + kernel/sched/core.c | 1 + kernel/sched/idle.c | 147 +++++++++++++++++++++---------------- 8 files changed, 130 insertions(+), 100 deletions(-) -- 1.9.1