Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751843AbbFXW23 (ORCPT ); Wed, 24 Jun 2015 18:28:29 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:34113 "EHLO mail-wi0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750879AbbFXW2Y (ORCPT ); Wed, 24 Jun 2015 18:28:24 -0400 MIME-Version: 1.0 In-Reply-To: References: <20150624064801.30680.3246.stgit@perfhull-ltc.austin.ibm.com> <1700583.a34yOllUuC@vostro.rjw.lan> Date: Thu, 25 Jun 2015 00:28:23 +0200 X-Google-Sender-Auth: ZuYsbtX2E4xFmkDxsznrKDrkt2c Message-ID: Subject: Re: [PATCH] tick/idle/powerpc: Do not register idle states with CPUIDLE_FLAG_TIMER_STOP set in periodic mode From: "Rafael J. Wysocki" To: Michael Ellerman Cc: "Rafael J. Wysocki" , Preeti U Murthy , Benjamin Herrenschmidt , Daniel Lezcano , Mark Rutland , Lorenzo Pieralisi , "linux-pm@vger.kernel.org" , mpe@ellerman.id.au, Will Deacon , Linux Kernel Mailing List , shreyas@linux.vnet.ibm.com, svaidy@linux.vnet.ibm.com, linuxppc-dev@lists.ozlabs.org Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2230 Lines: 51 On Thu, Jun 25, 2015 at 12:10 AM, Michael Ellerman wrote: > > > On 24 June 2015 23:50:40 GMT+10:00, "Rafael J. Wysocki" wrote: >>On Wednesday, June 24, 2015 01:48:01 AM Preeti U Murthy wrote: >>> On some archs, the local clockevent device stops in deep cpuidle >>states. >>> The broadcast framework is used to wakeup cpus in these idle states, >>in >>> which either an external clockevent device is used to send wakeup >>ipis >>> or the hrtimer broadcast framework kicks in in the absence of such a >>> device. One cpu is nominated as the broadcast cpu and this cpu sends >>> wakeup ipis to sleeping cpus at the appropriate time. This is the >>> implementation in the oneshot mode of broadcast. >>> >>> In periodic mode of broadcast however, the presence of such cpuidle >>> states results in the cpuidle driver calling tick_broadcast_enable() >>> which shuts down the local clockevent devices of all the cpus and >>> appoints the tick broadcast device as the clockevent device for each >>of >>> them. This works on those archs where the tick broadcast device is a >>> real clockevent device. But on archs which depend on the hrtimer >>mode >>> of broadcast, the tick broadcast device hapens to be a pseudo device. >>> The consequence is that the local clockevent devices of all cpus are >>> shutdown and the kernel hangs at boot time in periodic mode. >>> >>> Let us thus not register the cpuidle states which have >>> CPUIDLE_FLAG_TIMER_STOP flag set, on archs which depend on the >>hrtimer >>> mode of broadcast in periodic mode. This patch takes care of doing >>this >>> on powerpc. The cpus would not have entered into such deep cpuidle >>> states in periodic mode on powerpc anyway. So there is no loss here. >>> >>> Signed-off-by: Preeti U Murthy >> >>4.2 material I suppose? > > Yes please, in fact it should be marked for stable too. That can be done. Which -stable series should it go into? Rafael -- 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/