|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC v1 1/3] xen:rtds: enable XL to set and get vcpu work conserving flag
Extend the hypercalls(XEN_DOMCTL_SCHEDOP_getvcpuinfo/putvcpuinfo) to
get/set a domain's per-VCPU work conserving parameters.
Signed-off-by: Meng Xu <mengxu@xxxxxxxxxxxxx>
---
xen/common/sched_rt.c | 2 ++
xen/include/public/domctl.h | 1 +
2 files changed, 3 insertions(+)
diff --git a/xen/common/sched_rt.c b/xen/common/sched_rt.c
index 740a712..76ed4cb 100644
--- a/xen/common/sched_rt.c
+++ b/xen/common/sched_rt.c
@@ -1442,6 +1442,7 @@ rt_dom_cntl(
svc = rt_vcpu(d->vcpu[local_sched.vcpuid]);
local_sched.u.rtds.budget = svc->budget / MICROSECS(1);
local_sched.u.rtds.period = svc->period / MICROSECS(1);
+ local_sched.u.rtds.is_work_conserving =
svc->is_work_conserving;
spin_unlock_irqrestore(&prv->lock, flags);
if ( copy_to_guest_offset(op->u.v.vcpus, index,
@@ -1466,6 +1467,7 @@ rt_dom_cntl(
svc = rt_vcpu(d->vcpu[local_sched.vcpuid]);
svc->period = period;
svc->budget = budget;
+ svc->is_work_conserving =
local_sched.u.rtds.is_work_conserving;
spin_unlock_irqrestore(&prv->lock, flags);
}
/* Process a most 64 vCPUs without checking for preemptions. */
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index ff39762..e67cd9e 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -360,6 +360,7 @@ typedef struct xen_domctl_sched_credit2 {
typedef struct xen_domctl_sched_rtds {
uint32_t period;
uint32_t budget;
+ bool is_work_conserving;
} xen_domctl_sched_rtds_t;
typedef struct xen_domctl_schedparam_vcpu {
--
1.9.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |