debuggers.hg

view xen/include/public/sched_ctl.h @ 3611:3dc193a9786a

bitkeeper revision 1.1159.170.102 (41fa2751heRkQ76AYa9Oe-6cOyJuLw)

Enhanced SEDF scheduler
author sd386@font.cl.cam.ac.uk
date Fri Jan 28 11:51:45 2005 +0000 (2005-01-28)
parents f8e1f285e41f
children 9c88ba91d330
line source
1 /**
2 * Generic scheduler control interface.
3 *
4 * Mark Williamson, (C) 2004 Intel Research Cambridge
5 */
7 #ifndef __XEN_PUBLIC_SCHED_CTL_H__
8 #define __XEN_PUBLIC_SCHED_CTL_H__
10 /* Scheduler types */
11 #define SCHED_BVT 0
12 #define SCHED_ATROPOS 2
13 #define SCHED_RROBIN 3
14 #define SCHED_SEDF 4
16 /* these describe the intended direction used for a scheduler control or domain
17 * command */
18 #define SCHED_INFO_PUT 0
19 #define SCHED_INFO_GET 1
21 /*
22 * Generic scheduler control command - used to adjust system-wide scheduler
23 * parameters
24 */
25 struct sched_ctl_cmd
26 {
27 u32 sched_id; /* 0 */
28 u32 direction; /* 4 */
29 union { /* 8 */
30 struct bvt_ctl
31 {
32 /* IN variables. */
33 u32 ctx_allow; /* 8: context switch allowance */
34 } PACKED bvt;
36 struct rrobin_ctl
37 {
38 /* IN variables */
39 u64 slice; /* 8: round robin time slice */
40 } PACKED rrobin;
41 } PACKED u;
42 } PACKED; /* 16 bytes */
44 struct sched_adjdom_cmd
45 {
46 u32 sched_id; /* 0 */
47 u32 direction; /* 4 */
48 domid_t domain; /* 8 */
49 u16 __pad0;
50 u32 __pad1;
51 union { /* 16 */
52 struct bvt_adjdom
53 {
54 u32 mcu_adv; /* 16: mcu advance: inverse of weight */
55 u32 warpback; /* 20: warp? */
56 s32 warpvalue; /* 24: warp value */
57 long long warpl; /* 32: warp limit */
58 long long warpu; /* 40: unwarp time requirement */
59 } PACKED bvt;
61 struct atropos_adjdom
62 {
63 u64 nat_period; /* 16 */
64 u64 nat_slice; /* 24 */
65 u64 latency; /* 32 */
66 u32 xtratime; /* 36 */
67 } PACKED atropos;
69 struct sedf_adjdom
70 {
71 u64 period; /* 16 */
72 u64 slice; /* 24 */
73 u64 latency; /* 32 */
74 u16 extratime; /* 36 */
75 u16 weight; /* 38 */
76 } PACKED sedf;
78 } PACKED u;
79 } PACKED; /* 40 bytes */
81 #endif /* __XEN_PUBLIC_SCHED_CTL_H__ */