Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / include / linux / vserver / sched_cmd.h
1 #ifndef _VX_SCHED_CMD_H
2 #define _VX_SCHED_CMD_H
3
4
5 /*  sched vserver commands */
6
7 #define VCMD_set_sched_v2       VC_CMD(SCHED, 1, 2)
8 #define VCMD_set_sched          VC_CMD(SCHED, 1, 3)
9
10 struct  vcmd_set_sched_v2 {
11         int32_t fill_rate;
12         int32_t interval;
13         int32_t tokens;
14         int32_t tokens_min;
15         int32_t tokens_max;
16         uint64_t cpu_mask;
17 };
18
19 struct  vcmd_set_sched_v3 {
20         uint32_t set_mask;
21         int32_t fill_rate;
22         int32_t interval;
23         int32_t tokens;
24         int32_t tokens_min;
25         int32_t tokens_max;
26         int32_t priority_bias;
27 };
28
29
30 #define VXSM_FILL_RATE          0x0001
31 #define VXSM_INTERVAL           0x0002
32 #define VXSM_TOKENS             0x0010
33 #define VXSM_TOKENS_MIN         0x0020
34 #define VXSM_TOKENS_MAX         0x0040
35 #define VXSM_PRIO_BIAS          0x0100
36
37 #define SCHED_KEEP              (-2)
38
39 #ifdef  __KERNEL__
40
41 #include <linux/compiler.h>
42
43 extern int vc_set_sched_v1(uint32_t, void __user *);
44 extern int vc_set_sched_v2(uint32_t, void __user *);
45 extern int vc_set_sched(uint32_t, void __user *);
46
47 #endif  /* __KERNEL__ */
48 #endif  /* _VX_SCHED_CMD_H */