From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Gleixner Subject: Re: [PATCH v3]PM/Sleep: Timer quiesce in freeze state Date: Mon, 26 Jan 2015 15:15:43 +0100 (CET) Message-ID: References: <54866625.8010406@linux.intel.com> <54C5FE6A.9010300@linux.intel.com> <7916564.nnH80uMtkt@vostro.rjw.lan> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Return-path: Received: from www.linutronix.de ([62.245.132.108]:47185 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754706AbbAZOQJ (ORCPT ); Mon, 26 Jan 2015 09:16:09 -0500 In-Reply-To: <7916564.nnH80uMtkt@vostro.rjw.lan> Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: "Rafael J. Wysocki" Cc: "Li, Aubrey" , Peter Zijlstra , "Brown, Len" , "alan@linux.intel.com" , LKML , Linux PM list On Mon, 26 Jan 2015, Rafael J. Wysocki wrote: > On Monday, January 26, 2015 10:40:24 AM Thomas Gleixner wrote: > > On Mon, 26 Jan 2015, Li, Aubrey wrote: > > > On 2015/1/22 18:15, Thomas Gleixner wrote: > > > > Can we please stop adding more crap to that notifier thing? I rather > > > > see that go away than being expanded. > > > > > > Are you referring to FREEZE_PREPARE or remove all of FREEZE staff at all? > > > > > > What's the disadvantage of adding more notifier? > > > > clockevents_notify() is not a notifier. Its a multiplex call and I > > want to get rid of it and replace it with explicit functions. > > OK, so perhaps we need to move _SUSPEND/_RESUME out of there to start with? > > As far as I can say, clockevents_notify(CLOCK_EVT_NOTIFY_SUSPEND, NULL) and > clockevents_notify(CLOCK_EVT_NOTIFY_RESUME, NULL) are each only called from > one place and moreover, since they are in syscore_ops, we don't need any > locking around them. > > So what about the patch below? I'm cleaning up the whole replacement of notify. The stuff below is part of it. > > - clockevents_notify(CLOCK_EVT_NOTIFY_SUSPEND, NULL); > + tick_suspend(); > + tick_suspend_broadcast(); That's exactly the stuff I don't want to see. Blind code move. tick_suspend_broadcast() wants to be called from tick_suspend(). Still compiling and testing a gazillion of combinations. Thanks, tglx