All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/5] Towards work-conserving RTDS
@ 2017-10-11 18:02 Meng Xu
  2017-10-11 18:02 ` [PATCH v4 1/5] xen:rtds: towards work conserving RTDS Meng Xu
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Meng Xu @ 2017-10-11 18:02 UTC (permalink / raw)
  To: xen-devel
  Cc: wei.liu2, george.dunlap, dario.faggioli, ian.jackson,
	xumengpanda, Meng Xu

This series of patches make RTDS scheduler work-conserving
without breaking real-time guarantees.
VCPUs with extratime flag set can get extra time
from the unreserved system resource.
System administrators can decide which VCPUs have extratime flag set.

Example:
Set the extratime bit of all VCPUs of domain 1:
# xl sched-rtds -d 1 -v all -p 10000 -b 2000 -e 1
Each VCPU of domain 1 will be guaranteed to have 2000ms every 10000ms
(if the system is schedulable).
If there is a CPU having no work to do,
domain 1's VCPUs will be scheduled onto the CPU,
even though the VCPUs have got 2000ms in 10000ms.

Clear the extra bit of all VCPUs of domain 1:
# xl sched-rtds -d 1 -v all -p 10000 -b 2000 -e 0

Set/Clear the extratime bit of one specific VCPU of domain 1:
# xl sched-rtds -d 1 -v 1 -p 10000 -b 2000 -e 1
# xl sched-rtds -d 1 -v 1 -p 10000 -b 2000 -e 0


The original design of the work-conserving RTDS was discussed at
https://www.mail-archive.com/xen-devel@lists.xen.org/msg77150.html

The first version was discussed at
https://www.mail-archive.com/xen-devel@lists.xen.org/msg117361.html

The second version was discussed at
https://www.mail-archive.com/xen-devel@lists.xen.org/msg120618.html

The third version has been mostly reviewed by Dario Faggioli and
acked by Wei Liu, except
[PATCH v4 4/5] xentrace: enable per-VCPU extratime flag for RTDS

The series of patch can be found at github:
https://github.com/PennPanda/RT-Xen
under the branch:
xenbits/rtds/work-conserving-v4

Changes from v3
Handle burn_budget event in xentrace and xenanalyze.
Tested the change with three VMs

Changes from v2
Sanity check the input of -e option which can only be 0 or 1
Set -e to 1 by default if 3rd party library does not set -e option
Set vcpu extratime in sched_rtds_vcpu_get function function, which
fixes a bug in previous version.
Change EXTRATIME to Extratime in the xl output

Changes from v1
Change XEN_DOMCTL_SCHED_RTDS_extratime to XEN_DOMCTL_SCHEDRT_extra
Revise xentrace, xenalyze, and docs
Add LIBXL_HAVE_SCHED_RTDS_VCPU_EXTRA symbol in libxl.h

Changes from RFC v1
Merge changes in sched_rt.c into one patch;
Minor change in variable name and comments.

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

[PATCH v4 1/5] xen:rtds: towards work conserving RTDS
[PATCH v4 2/5] libxl: enable per-VCPU extratime flag for RTDS
[PATCH v4 3/5] xl: enable per-VCPU extratime flag for RTDS
[PATCH v4 4/5] xentrace: enable per-VCPU extratime flag for RTDS
[PATCH v4 5/5] docs: enable per-VCPU extratime flag for RTDS


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2017-11-16 16:30 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-11 18:02 [PATCH v4 0/5] Towards work-conserving RTDS Meng Xu
2017-10-11 18:02 ` [PATCH v4 1/5] xen:rtds: towards work conserving RTDS Meng Xu
2017-10-11 18:02 ` [PATCH v4 2/5] libxl: enable per-VCPU extratime flag for RTDS Meng Xu
2017-10-11 18:02 ` [PATCH v4 3/5] xl: " Meng Xu
2017-10-11 18:02 ` [PATCH v4 4/5] xentrace: " Meng Xu
2017-10-17  8:10   ` Dario Faggioli
2017-10-17 13:22     ` Meng Xu
2017-10-23 18:50     ` Meng Xu
2017-10-25 14:31       ` Wei Liu
2017-11-02 13:49         ` Meng Xu
2017-11-16 16:30     ` Meng Xu
2017-10-11 18:02 ` [PATCH v4 5/5] docs: " Meng Xu
2017-10-12  9:02 ` [PATCH v4 0/5] Towards work-conserving RTDS Wei Liu
2017-10-12 14:34   ` Meng Xu
2017-10-17  7:26     ` Dario Faggioli
2017-10-17  7:29       ` Dario Faggioli
2017-10-17 13:19         ` Meng Xu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.