From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753228AbbEDNei (ORCPT ); Mon, 4 May 2015 09:34:38 -0400 Received: from v094114.home.net.pl ([79.96.170.134]:64519 "HELO v094114.home.net.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1752911AbbEDNeL (ORCPT ); Mon, 4 May 2015 09:34:11 -0400 From: "Rafael J. Wysocki" To: Peter Zijlstra , Linux PM list Cc: Linux Kernel Mailing List , Daniel Lezcano Subject: [PATCH 0/4] sched / idle: Reduce the number of branches in the idle loop Date: Mon, 04 May 2015 15:54:43 +0200 Message-ID: <3084951.QaIkFrZ3VU@vostro.rjw.lan> User-Agent: KMail/4.11.5 (Linux/4.0.0+; KDE/4.11.5; x86_64; ; ) MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, The "reflect" variable that had to be added to cpuidle_idle_call() to fix a regression during the 4.0 cycle has bothered me a bit since then and guess what? It is not necessary. After the last regression fix related to tick_broadcast_exit() I realized that it should be possible to eliminate this variable by splitting cpuidle_idle_call() into smaller routines and reordering the code in question which is done by this patch series. It also gets rid of one more redundant check while at it. [1/4] Move the default idle call code into a separate function. [2/4] Make cpuidle_reflect() check the sign of its index arg. [3/4] Eliminate the "reflect" check from cpuidle_idle_call(). [4/4] Eliminate a redundant check of the cpuidle_enter() return value. All on top of 4.1-rc2. Thanks! -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.