Messages in this thread Patch in this message |  | | Date | Wed, 18 Feb 2015 16:38:27 +0000 | From | Lorenzo Pieralisi <> | Subject | Re: [PATCH 34/35] tick: Provide tick_suspend_local() |
| |
On Wed, Feb 18, 2015 at 01:35:24PM +0000, Peter Zijlstra wrote: > On Tue, Feb 17, 2015 at 02:31:42PM +0000, Lorenzo Pieralisi wrote: > > On Mon, Feb 16, 2015 at 12:15:09PM +0000, Peter Zijlstra wrote: > > > From: Thomas Gleixner <tglx@linutronix.de> > > > > > > This function is intended to use by the freezer once the freezer folks > > > solved their race issues. Also required to get rid of the ARM BL > > > switcher tick hackery. > > > > Totally agree with the patch(es), but I noticed that the ARM bL switcher > > does not depend on PM_SLEEP, so I do not think you can compile > > tick_{suspend/resume}_local() out if !PM_SLEEP, unless dependency > > is enforced by the ARM bL switcher config but I do not think that > > the config dependency really exists, Nico please correct me if I am > > wrong. > > Ah I see, the headers seem to do the right thing and declare the > function in core (GENERIC_CLOCKEVENTS) with a comment. > > But then the patch continues defining the functions under PM_SLEEP. > > I wonder why the build robot has not reported fail on this.. > > Would the below make sense?
Yes, but please see Rafael's remark, whatever makes it easier for you.
Thanks, Lorenzo
> > --- > --- a/kernel/time/tick-common.c > +++ b/kernel/time/tick-common.c > @@ -368,7 +368,6 @@ void tick_shutdown_local(void) > } > #endif > > -#ifdef CONFIG_PM_SLEEP > /** > * tick_suspend_local - Suspend the local tick device > * > @@ -384,20 +383,6 @@ void tick_suspend_local(void) > } > > /** > - * tick_suspend - Suspend the tick and the broadcast device > - * > - * Called from syscore_suspend() via timekeeping_suspend with only one > - * CPU online and interrupts disabled. > - * > - * No locks required. Nothing can change the per cpu device. > - */ > -void tick_suspend(void) > -{ > - tick_suspend_local(); > - tick_suspend_broadcast(); > -} > - > -/** > * tick_resume_local - Resume the local tick device > * > * Called from the local cpu for unfreeze or XEN resume magic > @@ -418,6 +403,21 @@ void tick_resume_local(void) > } > } > > +#ifdef CONFIG_PM_SLEEP > +/** > + * tick_suspend - Suspend the tick and the broadcast device > + * > + * Called from syscore_suspend() via timekeeping_suspend with only one > + * CPU online and interrupts disabled. > + * > + * No locks required. Nothing can change the per cpu device. > + */ > +void tick_suspend(void) > +{ > + tick_suspend_local(); > + tick_suspend_broadcast(); > +} > + > /** > * tick_resume - Resume the tick and the broadcast device > * >
|  |