diff mbox

[v4,4/5] xentrace: enable per-VCPU extratime flag for RTDS

Message ID 1507744926-3950-5-git-send-email-mengxu@cis.upenn.edu (mailing list archive)
State New, archived
Headers show

Commit Message

Meng Xu Oct. 11, 2017, 6:02 p.m. UTC
Change repl_budget event output for xentrace formats and xenalyze

Signed-off-by: Meng Xu <mengxu@cis.upenn.edu>

---
Changes from v3
Handle burn_budget event

No changes from v2

Changes from v1
Add this changes from v1
---
 tools/xentrace/formats    |  4 ++--
 tools/xentrace/xenalyze.c | 16 +++++++++++-----
 2 files changed, 13 insertions(+), 7 deletions(-)

Comments

Raistlin Oct. 17, 2017, 8:10 a.m. UTC | #1
On Wed, 2017-10-11 at 14:02 -0400, Meng Xu wrote:
> Change repl_budget event output for xentrace formats and xenalyze
> 
> Signed-off-by: Meng Xu <mengxu@cis.upenn.edu>
> 
I'd say:

Reviewed-by: Dario Faggioli <raistlin@linux.it>

However...

> diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
> index 79bdba7..19e050f 100644
> --- a/tools/xentrace/xenalyze.c
> +++ b/tools/xentrace/xenalyze.c
> @@ -7935,23 +7935,29 @@ void sched_process(struct pcpu_info *p)
>                      unsigned int vcpuid:16, domid:16;
>                      uint64_t cur_bg;
>                      int delta;
> +                    unsigned priority_level;
> +                    unsigned has_extratime;
>
...this last field is 'bool' in Xen.

I appreciate that xenalyze does not build if you just make this bool as
well. But it does build for me, if you do that, and also include
stdbool.h, which I think is a fine thing to do.

Anyway, I'll leave this to George and tools' maintainers.

Regards,
Dario
Meng Xu Oct. 17, 2017, 1:22 p.m. UTC | #2
On Tue, Oct 17, 2017 at 4:10 AM, Dario Faggioli <raistlin@linux.it> wrote:
> On Wed, 2017-10-11 at 14:02 -0400, Meng Xu wrote:
>> Change repl_budget event output for xentrace formats and xenalyze
>>
>> Signed-off-by: Meng Xu <mengxu@cis.upenn.edu>
>>
> I'd say:
>
> Reviewed-by: Dario Faggioli <raistlin@linux.it>
>
> However...
>
>> diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
>> index 79bdba7..19e050f 100644
>> --- a/tools/xentrace/xenalyze.c
>> +++ b/tools/xentrace/xenalyze.c
>> @@ -7935,23 +7935,29 @@ void sched_process(struct pcpu_info *p)
>>                      unsigned int vcpuid:16, domid:16;
>>                      uint64_t cur_bg;
>>                      int delta;
>> +                    unsigned priority_level;
>> +                    unsigned has_extratime;
>>
> ...this last field is 'bool' in Xen.
>
> I appreciate that xenalyze does not build if you just make this bool as
> well. But it does build for me, if you do that, and also include
> stdbool.h, which I think is a fine thing to do.

Right. I'm not sure about this. If including the stdbool.h is
preferred, I can resend this one with that change.

>
> Anyway, I'll leave this to George and tools' maintainers.

Sure!

Thanks,

Meng
Meng Xu Oct. 23, 2017, 6:50 p.m. UTC | #3
On Tue, Oct 17, 2017 at 4:10 AM, Dario Faggioli <raistlin@linux.it> wrote:
> On Wed, 2017-10-11 at 14:02 -0400, Meng Xu wrote:
>> Change repl_budget event output for xentrace formats and xenalyze
>>
>> Signed-off-by: Meng Xu <mengxu@cis.upenn.edu>
>>
> I'd say:
>
> Reviewed-by: Dario Faggioli <raistlin@linux.it>

Hi guys,

Just a reminder, we may need this patch for the work-conserving RTDS
scheduler in Xen 4.10.

I say Julien sent out the rc2 today which does not include this patch.

Thanks and best regards,

Meng

-----------
Meng Xu
Ph.D. Candidate in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/
Wei Liu Oct. 25, 2017, 2:31 p.m. UTC | #4
On Mon, Oct 23, 2017 at 02:50:31PM -0400, Meng Xu wrote:
> On Tue, Oct 17, 2017 at 4:10 AM, Dario Faggioli <raistlin@linux.it> wrote:
> > On Wed, 2017-10-11 at 14:02 -0400, Meng Xu wrote:
> >> Change repl_budget event output for xentrace formats and xenalyze
> >>
> >> Signed-off-by: Meng Xu <mengxu@cis.upenn.edu>
> >>
> > I'd say:
> >
> > Reviewed-by: Dario Faggioli <raistlin@linux.it>
> 
> Hi guys,
> 
> Just a reminder, we may need this patch for the work-conserving RTDS
> scheduler in Xen 4.10.
> 
> I say Julien sent out the rc2 today which does not include this patch.
> 
> Thanks and best regards,
> 

I'm waiting for George's ack.
Meng Xu Nov. 2, 2017, 1:49 p.m. UTC | #5
Hi George,

On Wed, Oct 25, 2017 at 10:31 AM, Wei Liu <wei.liu2@citrix.com> wrote:
>
> On Mon, Oct 23, 2017 at 02:50:31PM -0400, Meng Xu wrote:
> > On Tue, Oct 17, 2017 at 4:10 AM, Dario Faggioli <raistlin@linux.it> wrote:
> > > On Wed, 2017-10-11 at 14:02 -0400, Meng Xu wrote:
> > >> Change repl_budget event output for xentrace formats and xenalyze
> > >>
> > >> Signed-off-by: Meng Xu <mengxu@cis.upenn.edu>
> > >>
> > > I'd say:
> > >
> > > Reviewed-by: Dario Faggioli <raistlin@linux.it>
> >
> > Hi guys,
> >
> > Just a reminder, we may need this patch for the work-conserving RTDS
> > scheduler in Xen 4.10.
> >
> > I say Julien sent out the rc2 today which does not include this patch.
> >
> > Thanks and best regards,
> >
>
> I'm waiting for George's ack.


Just a friendly reminder:
Do you have any comment on this patch?

Thanks,

Meng
Meng Xu Nov. 16, 2017, 4:30 p.m. UTC | #6
Hi all,


On Tue, Oct 17, 2017 at 4:10 AM, Dario Faggioli <raistlin@linux.it> wrote:
>
> On Wed, 2017-10-11 at 14:02 -0400, Meng Xu wrote:
> > Change repl_budget event output for xentrace formats and xenalyze
> >
> > Signed-off-by: Meng Xu <mengxu@cis.upenn.edu>
> >
> I'd say:
>
> Reviewed-by: Dario Faggioli <raistlin@linux.it>
>


Just a friendly reminder:
This patch has not been pushed into either the staging or master
branch of xen.git.

This is an essential patch for the new version of RTDS scheduler which
Dario and I are maintaining.
This patch won't affect other features.

It has been a while without hearing complaints from the tools maintainers.

Is it ok to push it?



>
> However...
>
> > diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
> > index 79bdba7..19e050f 100644
> > --- a/tools/xentrace/xenalyze.c
> > +++ b/tools/xentrace/xenalyze.c
> > @@ -7935,23 +7935,29 @@ void sched_process(struct pcpu_info *p)
> >                      unsigned int vcpuid:16, domid:16;
> >                      uint64_t cur_bg;
> >                      int delta;
> > +                    unsigned priority_level;
> > +                    unsigned has_extratime;
> >
> ...this last field is 'bool' in Xen.
>
> I appreciate that xenalyze does not build if you just make this bool as
> well. But it does build for me, if you do that, and also include
> stdbool.h, which I think is a fine thing to do.
>
> Anyway, I'll leave this to George and tools' maintainers.


If it turns out bool is prefered, I can change it and send out a new one.
But please just let me know so that we can have a complete toolstack
for the new version of RTDS scheduler.


Thanks,

Meng
diff mbox

Patch

diff --git a/tools/xentrace/formats b/tools/xentrace/formats
index d6e7e3f..8b286c3 100644
--- a/tools/xentrace/formats
+++ b/tools/xentrace/formats
@@ -74,8 +74,8 @@ 
 
 0x00022801  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:tickle        [ cpu = %(1)d ]
 0x00022802  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:runq_pick     [ dom:vcpu = 0x%(1)08x, cur_deadline = 0x%(3)08x%(2)08x, cur_budget = 0x%(5)08x%(4)08x ]
-0x00022803  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:burn_budget   [ dom:vcpu = 0x%(1)08x, cur_budget = 0x%(3)08x%(2)08x, delta = %(4)d ]
-0x00022804  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:repl_budget   [ dom:vcpu = 0x%(1)08x, cur_deadline = 0x%(3)08x%(2)08x, cur_budget = 0x%(5)08x%(4)08x ]
+0x00022803  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:burn_budget   [ dom:vcpu = 0x%(1)08x, cur_budget = 0x%(3)08x%(2)08x, delta = %(4)d, priority_level = %(5)d, has_extratime = %(6)x ]
+0x00022804  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:repl_budget   [ dom:vcpu = 0x%(1)08x, priority_level = 0x%(2)08d cur_deadline = 0x%(4)08x%(3)08x, cur_budget = 0x%(6)08x%(5)08x ]
 0x00022805  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:sched_tasklet
 0x00022806  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:schedule      [ cpu[16]:tasklet[8]:idle[4]:tickled[4] = %(1)08x ]
 
diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
index 79bdba7..19e050f 100644
--- a/tools/xentrace/xenalyze.c
+++ b/tools/xentrace/xenalyze.c
@@ -7935,23 +7935,29 @@  void sched_process(struct pcpu_info *p)
                     unsigned int vcpuid:16, domid:16;
                     uint64_t cur_bg;
                     int delta;
+                    unsigned priority_level;
+                    unsigned has_extratime;
                 } __attribute__((packed)) *r = (typeof(r))ri->d;
 
                 printf(" %s rtds:burn_budget d%uv%u, budget = %"PRIu64", "
-                       "delta = %d\n", ri->dump_header, r->domid,
-                       r->vcpuid, r->cur_bg, r->delta);
+                       "delta = %d, priority_level = %d, has_extratime = %d\n",
+                       ri->dump_header, r->domid,
+                       r->vcpuid, r->cur_bg, r->delta,
+                       r->priority_level, !!r->has_extratime);
             }
             break;
         case TRC_SCHED_CLASS_EVT(RTDS, 4): /* BUDGET_REPLENISH */
             if(opt.dump_all) {
                 struct {
                     unsigned int vcpuid:16, domid:16;
+                    unsigned int priority_level;
                     uint64_t cur_dl, cur_bg;
                 } __attribute__((packed)) *r = (typeof(r))ri->d;
 
-                printf(" %s rtds:repl_budget d%uv%u, deadline = %"PRIu64", "
-                       "budget = %"PRIu64"\n", ri->dump_header,
-                       r->domid, r->vcpuid, r->cur_dl, r->cur_bg);
+                printf(" %s rtds:repl_budget d%uv%u, priority_level = %u,"
+                       "deadline = %"PRIu64", budget = %"PRIu64"\n",
+                       ri->dump_header, r->domid, r->vcpuid,
+                       r->priority_level, r->cur_dl, r->cur_bg);
             }
             break;
         case TRC_SCHED_CLASS_EVT(RTDS, 5): /* SCHED_TASKLET    */