[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 08/24] xen: tracing: add trace records for schedule and rate-limiting.
On 17/08/16 18:18, Dario Faggioli wrote: > As far as {csched, csched2, rt}_schedule() are concerned, > an "empty" event, would already make it easier to read and > understand a trace. > > But while there, add a few useful information, like > if the cpu that is going through the scheduler has > been tickled or not, if it is currently idle, etc > (they vary, on a per-scheduler basis). > > For Credit1 and Credit2, add a record about when > rate-limiting kicks in too. > > Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx> > --- > Cc: George Dunlap <george.dunlap@xxxxxxxxxxxxx> > Cc: Meng Xu <mengxu@xxxxxxxxxxxxx> > Cc: Anshul Makkar <anshul.makkar@xxxxxxxxxx> > --- > xen/common/sched_credit.c | 7 +++++++ > xen/common/sched_credit2.c | 38 +++++++++++++++++++++++++++++++++++++- > xen/common/sched_rt.c | 15 +++++++++++++++ > 3 files changed, 59 insertions(+), 1 deletion(-) > > diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c > index ca04732..f9d3ac9 100644 > --- a/xen/common/sched_credit.c > +++ b/xen/common/sched_credit.c > @@ -134,6 +134,8 @@ > #define TRC_CSCHED_TICKLE TRC_SCHED_CLASS_EVT(CSCHED, 6) > #define TRC_CSCHED_BOOST_START TRC_SCHED_CLASS_EVT(CSCHED, 7) > #define TRC_CSCHED_BOOST_END TRC_SCHED_CLASS_EVT(CSCHED, 8) > +#define TRC_CSCHED_SCHEDULE TRC_SCHED_CLASS_EVT(CSCHED, 9) > +#define TRC_CSCHED_RATELIMIT TRC_SCHED_CLASS_EVT(CSCHED, 10) > > > /* > @@ -1743,6 +1745,9 @@ csched_schedule( > SCHED_STAT_CRANK(schedule); > CSCHED_VCPU_CHECK(current); > > + TRACE_3D(TRC_CSCHED_SCHEDULE, cpu, tasklet_work_scheduled, > + is_idle_vcpu(current)); Sorry to be annoying, but you're using two full words here for two bits of information, and scheduling isn't exactly a once-every-few-seconds phenomenon. :-) Would you mind packing this in a bit? > + > runtime = now - current->runstate.state_entry_time; > if ( runtime < 0 ) /* Does this ever happen? */ > runtime = 0; > @@ -1792,6 +1797,8 @@ csched_schedule( > snext->start_time += now; > perfc_incr(delay_ms); > tslice = MICROSECS(prv->ratelimit_us) - runtime; > + TRACE_3D(TRC_CSCHED_RATELIMIT, scurr->vcpu->domain->domain_id, > + scurr->vcpu->vcpu_id, runtime); Same for this one, if you don't mind -- this one is less important probably, but since you essentially have the code in credit2, it seems like a pretty straightforward exercise to copy-and-paste it. The credit2 traces look good -- thanks! -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |