From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH 02/14] xen: sched: move up the trace record for vcpu_wake and vcpu_sleep Date: Mon, 15 Feb 2016 11:18:31 -0500 Message-ID: <20160215161831.GB4697@char.us.oracle.com> References: <20160205183137.4543.56523.stgit@Solace.station> <20160205183342.4543.51431.stgit@Solace.station> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aVLrH-000285-V4 for xen-devel@lists.xenproject.org; Mon, 15 Feb 2016 16:18:44 +0000 Content-Disposition: inline In-Reply-To: <20160205183342.4543.51431.stgit@Solace.station> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Dario Faggioli Cc: xen-devel@lists.xenproject.org, George Dunlap List-Id: xen-devel@lists.xenproject.org On Fri, Feb 05, 2016 at 07:33:42PM +0100, Dario Faggioli wrote: > vcpu_wake() and vcpu_sleep() are called before the specific > schedulers wakeup and sleep routines (in fact, it is them > that calls those specific routine). Yeah!! > > Make the trace reflect that, by moving the records up. In > fact, it is more natural and easy to find the record of > the event (e.g., the wakeup) *before* the records of the > actions that deals with the event itself. > Reviewed-by: Konrad Rzeszutek Wilk > Signed-off-by: Dario Faggioli > --- > Cc: George Dunlap > --- > xen/common/schedule.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/xen/common/schedule.c b/xen/common/schedule.c > index 7306d71..c87922f 100644 > --- a/xen/common/schedule.c > +++ b/xen/common/schedule.c > @@ -381,7 +381,11 @@ void sched_destroy_domain(struct domain *d) > void vcpu_sleep_nosync(struct vcpu *v) > { > unsigned long flags; > - spinlock_t *lock = vcpu_schedule_lock_irqsave(v, &flags); > + spinlock_t *lock; > + > + TRACE_2D(TRC_SCHED_SLEEP, v->domain->domain_id, v->vcpu_id); > + > + lock = vcpu_schedule_lock_irqsave(v, &flags); > > if ( likely(!vcpu_runnable(v)) ) > { > @@ -392,8 +396,6 @@ void vcpu_sleep_nosync(struct vcpu *v) > } > > vcpu_schedule_unlock_irqrestore(lock, flags, v); > - > - TRACE_2D(TRC_SCHED_SLEEP, v->domain->domain_id, v->vcpu_id); > } > > void vcpu_sleep_sync(struct vcpu *v) > @@ -409,7 +411,11 @@ void vcpu_sleep_sync(struct vcpu *v) > void vcpu_wake(struct vcpu *v) > { > unsigned long flags; > - spinlock_t *lock = vcpu_schedule_lock_irqsave(v, &flags); > + spinlock_t *lock; > + > + TRACE_2D(TRC_SCHED_WAKE, v->domain->domain_id, v->vcpu_id); > + > + lock = vcpu_schedule_lock_irqsave(v, &flags); > > if ( likely(vcpu_runnable(v)) ) > { > @@ -424,8 +430,6 @@ void vcpu_wake(struct vcpu *v) > } > > vcpu_schedule_unlock_irqrestore(lock, flags, v); > - > - TRACE_2D(TRC_SCHED_WAKE, v->domain->domain_id, v->vcpu_id); > } > > void vcpu_unblock(struct vcpu *v) > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel