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 Xen Scheduling Groups

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] 0/4 Xen Scheduling Groups
From: "Mike D. Day" <ncmike@xxxxxxxxxx>
Date: Thu, 10 May 2007 17:33:13 -0400
Delivery-date: Thu, 10 May 2007 14:31:44 -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 Groups

Scheduling groups provide the ability to combine domains into a group
assocation. One domain is designated as the group master. The other
domains are designated as group members. There may be only one master
domain for each group, and one or more member domains. A single domain
may be either a group master or group member, and never both at the
same time.

scheduling groups are visible to Xen as a new sub-operation within the
domain control Scheduling op. When xen receives a Scheduling op
containing the sched-group sub op, it dispatches to the generic
scheduling layer, which then calls the active scheduler with the
sub-ob information.  The grouping/ungrouping, accounting, and
scheduling work is done in the active scheduler, whichever that may

By delegating the processing of the sched-group sub op to the specific
scheduler (as opposed to the generic scheduling layer), scheduling
groups are opaque to the rest of Xen and each scheduler is free to
implement grouping how it sees fit. This also keeps the bulk of the
code changes within a specific scheduler implementation and limits the
changes to other areas of Xen.

There are several possible implementations of scheduling groups. For
example, groups could be used as the foundation for a secondary
scheduler, where the first level schedules groups, and the second
level schedules domains within groups. A good use case is creating a
group in which the domains need to be scheduled in a specific
order. For example, a stub domain hosting a device model must run
prior the the hvm domain it is servicing.

Scheduling groups might also be used for support of real-time
guests. All real-time guests could be placed in one group which will
scheduled pre-emptively and at a finer granularity than other domains.

This patchset is limited to groups sharing the master domain's
timeslices in the credit scheduler.

The three patches that follow are organized as follows:
1/4: Implements the sched-group sub op within the domctrl scheduling
2/4: The credit implementation of scheduling groups.
3/4: Tools update for supporting scheduling groups.
4/4:sched-group C utility program to add and remove domains to and
from groups.


Mike D. Day
Virtualization Architect and Sr. Technical Staff Member, IBM LTC
Cell: 919 412-3900
ST: mdday@xxxxxxxxxx | AIM: ncmikeday | Yahoo IM: ultra.runner
PGP key: http://www.ncultra.org/ncmike/pubkey.asc

Xen-devel mailing list