1 #ifndef _VX_SCHED_CMD_H
2 #define _VX_SCHED_CMD_H
5 /* sched vserver commands */
7 #define VCMD_set_sched_v2 VC_CMD(SCHED, 1, 2)
8 #define VCMD_set_sched_v3 VC_CMD(SCHED, 1, 3)
9 #define VCMD_set_sched VC_CMD(SCHED, 1, 4)
11 struct vcmd_set_sched_v2 {
20 struct vcmd_set_sched_v3 {
27 int32_t priority_bias;
30 struct vcmd_set_sched_v4 {
43 #define VXSM_FILL_RATE 0x0001
44 #define VXSM_INTERVAL 0x0002
45 #define VXSM_FILL_RATE2 0x0004
46 #define VXSM_INTERVAL2 0x0008
47 #define VXSM_TOKENS 0x0010
48 #define VXSM_TOKENS_MIN 0x0020
49 #define VXSM_TOKENS_MAX 0x0040
50 #define VXSM_PRIO_BIAS 0x0100
52 #define VXSM_IDLE_TIME 0x0200
53 #define VXSM_FORCE 0x0400
55 #define VXSM_V3_MASK 0x0173
56 #define VXSM_SET_MASK 0x01FF
58 #define VXSM_CPU_ID 0x1000
59 #define VXSM_BUCKET_ID 0x2000
61 #define SCHED_KEEP (-2) /* only for v2 */
65 #include <linux/compiler.h>
67 extern int vc_set_sched_v2(struct vx_info *, void __user *);
68 extern int vc_set_sched_v3(struct vx_info *, void __user *);
69 extern int vc_set_sched(struct vx_info *, void __user *);
71 #endif /* __KERNEL__ */
72 #endif /* _VX_SCHED_CMD_H */