This commit was generated by cvs2svn to compensate for changes in r925,
[linux-2.6.git] / include / asm-xen / xen-public / sched_ctl.h
1 /******************************************************************************
2  * Generic scheduler control interface.
3  *
4  * Mark Williamson, (C) 2004 Intel Research Cambridge
5  */
6
7 #ifndef __XEN_PUBLIC_SCHED_CTL_H__
8 #define __XEN_PUBLIC_SCHED_CTL_H__
9
10 /* Scheduler types. */
11 #define SCHED_BVT      0
12
13 /* Set or get info? */
14 #define SCHED_INFO_PUT 0
15 #define SCHED_INFO_GET 1
16
17 /*
18  * Generic scheduler control command - used to adjust system-wide scheduler
19  * parameters
20  */
21 struct sched_ctl_cmd
22 {
23     u32 sched_id;
24     u32 direction;
25     union {
26         struct bvt_ctl {
27             u32 ctx_allow;
28         } bvt;
29     } u;
30 };
31
32 struct sched_adjdom_cmd
33 {
34     u32     sched_id;
35     u32     direction;
36     domid_t domain;
37     union {
38         struct bvt_adjdom {
39             u32 mcu_adv;            /* mcu advance: inverse of weight */
40             u32 warpback;           /* warp? */
41             s32 warpvalue;          /* warp value */
42             long long warpl;        /* warp limit */
43             long long warpu;        /* unwarp time requirement */
44         } bvt;
45     } u;
46 };
47
48 #endif /* __XEN_PUBLIC_SCHED_CTL_H__ */