mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
xen/tools: tracing: credits can go negative, so use int.
For Credit2, in both the trace records, inside Xen, and in their parsing, in xenalyze. In fact, as it is quite a bit better, in order to understand how much negative credits have gone for a certain vCPU, to see an actual negative number, as compared to a wrapped around unsigned! Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com> Reviewed-by: George Dunlap <george.dunlap@citrix.com>
This commit is contained in:
1 parent
3af86727b8
commit
bd3f7a557a
2 files changed
+15
-15
No files matched your search
+10
-10
@@ -7651,11 +7651,11 @@ void sched_process(struct pcpu_info *p)
|
||||
case TRC_SCHED_CLASS_EVT(CSCHED2, 3): /* CREDIT_BURN */
|
||||
if(opt.dump_all) {
|
||||
struct {
|
||||
unsigned int vcpuid:16, domid:16, credit;
|
||||
int delta;
|
||||
unsigned int vcpuid:16, domid:16;
|
||||
int credit, delta;
|
||||
} *r = (typeof(r))ri->d;
|
||||
|
||||
printf(" %s csched2:burn_credits d%uv%u, credit = %u, delta = %d\n",
|
||||
printf(" %s csched2:burn_credits d%uv%u, credit = %d, delta = %d\n",
|
||||
ri->dump_header, r->domid, r->vcpuid,
|
||||
r->credit, r->delta);
|
||||
}
|
||||
@@ -7664,10 +7664,10 @@ void sched_process(struct pcpu_info *p)
|
||||
if(opt.dump_all) {
|
||||
struct {
|
||||
unsigned int vcpuid:16, domid:16;
|
||||
unsigned int credit;
|
||||
int credit;
|
||||
} *r = (typeof(r))ri->d;
|
||||
|
||||
printf(" %s csched2:tickle_check d%uv%u, credit = %u\n",
|
||||
printf(" %s csched2:tickle_check d%uv%u, credit = %d\n",
|
||||
ri->dump_header, r->domid, r->vcpuid, r->credit);
|
||||
}
|
||||
break;
|
||||
@@ -7685,12 +7685,12 @@ void sched_process(struct pcpu_info *p)
|
||||
if(opt.dump_all) {
|
||||
struct {
|
||||
unsigned int vcpuid:16, domid:16;
|
||||
unsigned int credit_start, credit_end;
|
||||
int credit_start, credit_end;
|
||||
unsigned int multiplier;
|
||||
} *r = (typeof(r))ri->d;
|
||||
|
||||
printf(" %s csched2:reset_credits d%uv%u, "
|
||||
"credit_start = %u, credit_end = %u, mult = %u\n",
|
||||
"credit_start = %d, credit_end = %d, mult = %u\n",
|
||||
ri->dump_header, r->domid, r->vcpuid,
|
||||
r->credit_start, r->credit_end, r->multiplier);
|
||||
}
|
||||
@@ -7752,12 +7752,12 @@ void sched_process(struct pcpu_info *p)
|
||||
case TRC_SCHED_CLASS_EVT(CSCHED2, 13): /* TICKLE_NEW */
|
||||
if (opt.dump_all) {
|
||||
struct {
|
||||
unsigned vcpuid:16, domid:16;
|
||||
unsigned processor, credit;
|
||||
unsigned int vcpuid:16, domid:16, processor;
|
||||
int credit;
|
||||
} *r = (typeof(r))ri->d;
|
||||
|
||||
printf(" %s csched2:runq_tickle_new d%uv%u, "
|
||||
"processor = %u, credit = %u\n",
|
||||
"processor = %u, credit = %d\n",
|
||||
ri->dump_header, r->domid, r->vcpuid,
|
||||
r->processor, r->credit);
|
||||
}
|
||||
|
||||
@@ -932,7 +932,8 @@ runq_tickle(const struct scheduler *ops, struct csched2_vcpu *new, s_time_t now)
|
||||
{
|
||||
struct {
|
||||
unsigned vcpu:16, dom:16;
|
||||
unsigned processor, credit;
|
||||
unsigned processor;
|
||||
int credit;
|
||||
} d;
|
||||
d.dom = new->vcpu->domain->domain_id;
|
||||
d.vcpu = new->vcpu->vcpu_id;
|
||||
@@ -1031,7 +1032,7 @@ runq_tickle(const struct scheduler *ops, struct csched2_vcpu *new, s_time_t now)
|
||||
{
|
||||
struct {
|
||||
unsigned vcpu:16, dom:16;
|
||||
unsigned credit;
|
||||
int credit;
|
||||
} d;
|
||||
d.dom = cur->vcpu->domain->domain_id;
|
||||
d.vcpu = cur->vcpu->vcpu_id;
|
||||
@@ -1136,7 +1137,7 @@ static void reset_credit(const struct scheduler *ops, int cpu, s_time_t now,
|
||||
{
|
||||
struct {
|
||||
unsigned vcpu:16, dom:16;
|
||||
unsigned credit_start, credit_end;
|
||||
int credit_start, credit_end;
|
||||
unsigned multiplier;
|
||||
} d;
|
||||
d.dom = svc->vcpu->domain->domain_id;
|
||||
@@ -1186,8 +1187,7 @@ void burn_credits(struct csched2_runqueue_data *rqd,
|
||||
{
|
||||
struct {
|
||||
unsigned vcpu:16, dom:16;
|
||||
unsigned credit;
|
||||
int delta;
|
||||
int credit, delta;
|
||||
} d;
|
||||
d.dom = svc->vcpu->domain->domain_id;
|
||||
d.vcpu = svc->vcpu->vcpu_id;
|
||||
|
||||