[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[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

nemesis: a small C program that sets up and tears down scheduling
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
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



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.