From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH 08/09] tick/xen: Provide and use tick_suspend_local() and tick_resume_local() Date: Wed, 25 Mar 2015 16:44:45 -0400 Message-ID: <20150325204445.GA4065@l.oracle.com> References: <20150216121435.203983131@infradead.org> <1698741.eezk9tnXtG@vostro.rjw.lan> <20150325201309.GR25884@l.oracle.com> <3797850.XzqKU1ZfKa@vostro.rjw.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from aserp1040.oracle.com ([141.146.126.69]:39752 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752102AbbCYUpW (ORCPT ); Wed, 25 Mar 2015 16:45:22 -0400 Content-Disposition: inline In-Reply-To: <3797850.XzqKU1ZfKa@vostro.rjw.lan> Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: "Rafael J. Wysocki" Cc: Peter Zijlstra , linux-kernel@vger.kernel.org, mingo@kernel.org, tglx@linutronix.de, Linux PM list , Boris Ostrovsky , David Vrabel 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 > > > > > > 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 > > > Cc: Konrad Rzeszutek Wilk > > > Cc: Boris Ostrovsky > > > Cc: David Vrabel > > > [ rjw: Combined two patches, rebased, modified subject/changelog ] > > > Signed-off-by: Rafael J. Wysocki > > > --- > > > 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.