Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753602AbbKCALl (ORCPT ); Mon, 2 Nov 2015 19:11:41 -0500 Received: from mga09.intel.com ([134.134.136.24]:3505 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752453AbbKCALZ (ORCPT ); Mon, 2 Nov 2015 19:11:25 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,236,1444719600"; d="scan'208";a="677019566" From: Jacob Pan To: Peter Zijlstra Cc: Thomas Gleixner , LKML , Arjan van de Ven , Paul Turner , Len Brown , Srinivas Pandruvada , Tim Chen , Andi Kleen , Rafael Wysocki , Jacob Pan Subject: [RFC PATCH 2/3] timer: relax tick stop in idle entry Date: Mon, 2 Nov 2015 16:10:27 -0800 Message-Id: <1446509428-5616-3-git-send-email-jacob.jun.pan@linux.intel.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1446509428-5616-1-git-send-email-jacob.jun.pan@linux.intel.com> References: <1446509428-5616-1-git-send-email-jacob.jun.pan@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1086 Lines: 31 Upon entering idle, we can turn off tick if the next timeout is exactly one tick away. Otherwise, we could enter inner idle loop with tick still enabled, without resched set, the tick will continue during idle therefore less optimal in terms of energy savings. Signed-off-by: Jacob Pan --- kernel/time/tick-sched.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 7c7ec45..bcadaab 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -606,7 +606,7 @@ static ktime_t tick_nohz_stop_sched_tick(struct tick_sched *ts, * restart it proper. */ delta = next_tick - basemono; - if (delta <= (u64)TICK_NSEC) { + if (delta < (u64)TICK_NSEC) { tick.tv64 = 0; if (!ts->tick_stopped) goto out; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/