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@xxxxxxxxxx AIM: ncmikeday Yahoo: ultra.runner
PGP key: http://www.ncultra.org/ncmike/pubkey.asc
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|