Mike D. Day
2007-May-04 22:15 UTC
[Xen-devel] [PATCH] 0/4 "nemesis" scheduling domains for Xen
Scheduling domain functionality for Xen allows one or more domains to share timeslices. Grouping domains together within a single "scheduling domain" causes the entire group to obtain only the timeslices of the "master" domain. The first use of scheduling domains is intended to be the hvm stub domain. In this case, a stub domain exists only to provide device emulation for an hvm domain. It is appropriate that the stub domain should share timeslices with the hvm domain. This keeps resource usage consistent with the constraints set for the hvm domain. A good way to see scheduling domains in action is to cap one domain at 10% (or a similarly small number), then to add a second domain to the capped domain, which creates a new "scheduling domain" that inherits the resources of the first (capped) domain. Immediataly the second domain will be subject to the capped constraints of the master. Both domains together will only be allocated 10% of the master''s available timeslices, which they will share. This submission represents a minimal implementation. There is no sub-scheduler, only timeslice sharing. The patchset consists of four patches, as follows: sdom_hcall: A new domctrl hypercall sub-op to handle operations on scheduling domains. sdom_credit: scheduling domain implementation in the credit scheduler. tools: libxc, xm, and xend implementation of scheduling domain control. note: This patch stopped working on 5/3 with 3.1rc6. It needs some further attention, including an implementation using the new Xen API. nemesis: a small C program that sets up and tears down scheduling domains. The entire set has the following diffstat: b/tools/nemesis/Makefile | 38 ++++ b/tools/nemesis/nemesis.c | 71 ++++++++ tools/libxc/xc_domain.c | 85 +++++++++ tools/libxc/xenctrl.h | 43 ++++ tools/python/xen/xend/XendDomain.py | 78 ++++++++ tools/python/xen/xend/server/SrvDomain.py | 27 +++ tools/python/xen/xm/main.py | 70 ++++++++ xen/common/domctl.c | 18 +- xen/common/sched_credit.c | 262 ++++++++++++++++++++++++++++-- xen/common/schedule.c | 8 xen/include/public/domctl.h | 28 +++ xen/include/xen/sched-if.h | 1 xen/include/xen/sched.h | 1 patches follow. -- Mike D. Day IBM LTC Cell: 919 412-3900 Sametime: ncmike@us.ibm.com AIM: ncmikeday Yahoo: ultra.runner PGP key: http://www.ncultra.org/ncmike/pubkey.asc _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel