|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 3/5] xen/sched: rtds: report utilization and cap via debug key
Print a cpupool's admitted utilization against its capacity in the
'r' debug ky (xl debug-keys r), so an operator can see the total
usage of a cpupool.
Signed-off-by: Furkan Caliskan <frn1furkan10@xxxxxxxxx>
---
xen/common/sched/rt.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/xen/common/sched/rt.c b/xen/common/sched/rt.c
index 9643a277fe..0582c0094d 100644
--- a/xen/common/sched/rt.c
+++ b/xen/common/sched/rt.c
@@ -399,12 +399,22 @@ rt_dump(const struct scheduler *ops)
const struct rt_unit *svc;
const struct rt_dom *sdom;
unsigned long flags;
+ uint64_t cap;
spin_lock_irqsave(&prv->lock, flags);
if ( list_empty(&prv->sdom) )
goto out;
+ cap = (uint64_t)cpumask_weight(ops->cpupool->res_valid) *
+ RTDS_UTIL_SCALE * RTDS_UTIL_CAP_PCT / 100;
+
+ if ( cap )
+ printk("Utilization: %llu%% of capacity\n",
+ (unsigned long long)(prv->utilization * 100 / cap));
+ else
+ printk("Utilization: cpupool has no capacity\n");
+
runq = rt_runq(ops);
depletedq = rt_depletedq(ops);
replq = rt_replq(ops);
--
2.34.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |