This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] [PATCH] 0/4 "nemesis" scheduling domains for Xen

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] 0/4 "nemesis" scheduling domains for Xen
From: "Mike D. Day" <ncmike@xxxxxxxxxx>
Date: Fri, 4 May 2007 18:15:30 -0400
Delivery-date: Fri, 04 May 2007 15:14:04 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: IBM Linux Technology Center
Reply-to: ncmike@xxxxxxxxxx
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.13 (2006-08-11)
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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] 0/4 "nemesis" scheduling domains for Xen, Mike D. Day <=