On Wed, Mar 25, 2015 at 09:57:18PM +0100, Rafael J. Wysocki wrote:
> On Wednesday, March 25, 2015 04:13:09 PM Konrad Rzeszutek Wilk wrote:
> > On Wed, Mar 25, 2015 at 01:11:04PM +0100, Rafael J. Wysocki wrote:
> > > From: Thomas Gleixner <[email protected]>
> > > 
> > > Xen calls on every cpu into tick_resume() which is just wrong.
> > > tick_resume() is for the syscore global suspend/resume invocation.
> > > What XEN really wants is a per cpu local resume function.
> > > 
> > > Provide a tick_resume_local() function and use it in XEN.
> > > 
> > > Also provide a complementary tick_suspend_local() and modify
> > > tick_unfreeze() and tick_freeze(), respectively, to use the
> > > new local tick resume/suspend functions.
> > > 
> > > Signed-off-by: Thomas Gleixner <[email protected]>
> > > Cc: Konrad Rzeszutek Wilk <[email protected]>
> > > Cc: Boris Ostrovsky <[email protected]>
> > > Cc: David Vrabel <[email protected]>
> > > [ rjw: Combined two patches, rebased, modified subject/changelog ]
> > > Signed-off-by: Rafael J. Wysocki <[email protected]>
> > > ---
> > >  arch/x86/xen/suspend.c       |    2 -
> > >  include/linux/tick.h         |    6 ++--
> > >  kernel/time/tick-broadcast.c |   24 ++++++++++++------
> > >  kernel/time/tick-common.c    |   57 
> > > +++++++++++++++++++++++++++++--------------
> > >  kernel/time/tick-internal.h  |    8 ++++--
> > >  5 files changed, 66 insertions(+), 31 deletions(-)
> > > 
> > > Index: linux-pm/arch/x86/xen/suspend.c
> > > ===================================================================
> > > --- linux-pm.orig/arch/x86/xen/suspend.c
> > > +++ linux-pm/arch/x86/xen/suspend.c
> > > @@ -85,7 +85,7 @@ static void xen_vcpu_notify_restore(void
> > >   if (smp_processor_id() == 0)
> > >           return;
> > >  
> > > - tick_resume();
> > > + tick_resume_local();
> > 
> > I am looking at Linus's tree and I see:
> > 
> > 82 static void xen_vcpu_notify_restore(void *data)                          
> >        
> >  83 {                                                                       
> >         
> >  84         unsigned long reason = (unsigned long)data;                     
> >         
> >  85                                                                         
> >         
> >  86         /* Boot processor notified via generic timekeeping_resume() */  
> >         
> >  87         if ( smp_processor_id() == 0)                                   
> >         
> >  88                 return;                                                 
> >         
> >  89                                                                         
> >         
> >  90         clockevents_notify(reason, NULL);                               
> >         
> >  91 }                             
> > 
> > So there must be another patch that altered the clockevents_notify?
> 
> Yes, there is.  It is the [06/09] in this series
> (https://patchwork.kernel.org/patch/6090631/).
> 
> I should have CCed it to you too, sorry about that.

That is alright.
> 
> > Is there an git tree with all of these patches?
> 
> Not yet, but they all are in the linux-pm patchwork at
> 
> https://patchwork.kernel.org/project/linux-pm/list/
> 
> I can create a branch in the linux-pm.git tree for them if that helps,
> please let me know.

If it is not too much trouble.. 

Thank you.
> 
> 
> -- 
> I speak only for myself.
> Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to