|
Revision 2367, 1.3 kB
(checked in by dhozac, 2 years ago)
|
This commit adds support for the 2.1 vserver API.
Update the kernel headers to 2.1.1-rc47.
Add the new ccapabilities, context flags, and network flags.
Use the correct VCMDs for the older calls.
Add vc_set_sched_v21, to configure the new scheduler.
Add vc_set_ccaps_v21, which sets the ccaps and bcaps using the new interfaces for that.
|
| Line | |
|---|
| 1 |
#ifndef _VX_MONITOR_H |
|---|
| 2 |
#define _VX_MONITOR_H |
|---|
| 3 |
|
|---|
| 4 |
|
|---|
| 5 |
enum { |
|---|
| 6 |
VXM_UNUSED = 0, |
|---|
| 7 |
|
|---|
| 8 |
VXM_SYNC = 0x10, |
|---|
| 9 |
|
|---|
| 10 |
VXM_UPDATE = 0x20, |
|---|
| 11 |
VXM_UPDATE_1, |
|---|
| 12 |
VXM_UPDATE_2, |
|---|
| 13 |
|
|---|
| 14 |
VXM_RQINFO_1 = 0x24, |
|---|
| 15 |
VXM_RQINFO_2, |
|---|
| 16 |
|
|---|
| 17 |
VXM_ACTIVATE = 0x40, |
|---|
| 18 |
VXM_DEACTIVATE, |
|---|
| 19 |
VXM_IDLE, |
|---|
| 20 |
|
|---|
| 21 |
VXM_HOLD = 0x44, |
|---|
| 22 |
VXM_UNHOLD, |
|---|
| 23 |
|
|---|
| 24 |
VXM_MIGRATE = 0x48, |
|---|
| 25 |
VXM_RESCHED, |
|---|
| 26 |
|
|---|
| 27 |
|
|---|
| 28 |
VXM_SCHED = 0x80, |
|---|
| 29 |
}; |
|---|
| 30 |
|
|---|
| 31 |
struct _vxm_update_1 { |
|---|
| 32 |
uint32_t tokens_max; |
|---|
| 33 |
uint32_t fill_rate; |
|---|
| 34 |
uint32_t interval; |
|---|
| 35 |
}; |
|---|
| 36 |
|
|---|
| 37 |
struct _vxm_update_2 { |
|---|
| 38 |
uint32_t tokens_min; |
|---|
| 39 |
uint32_t fill_rate; |
|---|
| 40 |
uint32_t interval; |
|---|
| 41 |
}; |
|---|
| 42 |
|
|---|
| 43 |
struct _vxm_rqinfo_1 { |
|---|
| 44 |
uint16_t running; |
|---|
| 45 |
uint16_t onhold; |
|---|
| 46 |
uint16_t iowait; |
|---|
| 47 |
uint16_t uintr; |
|---|
| 48 |
uint32_t idle_tokens; |
|---|
| 49 |
}; |
|---|
| 50 |
|
|---|
| 51 |
struct _vxm_rqinfo_2 { |
|---|
| 52 |
uint32_t norm_time; |
|---|
| 53 |
uint32_t idle_time; |
|---|
| 54 |
uint32_t idle_skip; |
|---|
| 55 |
}; |
|---|
| 56 |
|
|---|
| 57 |
struct _vxm_sched { |
|---|
| 58 |
uint32_t tokens; |
|---|
| 59 |
uint32_t norm_time; |
|---|
| 60 |
uint32_t idle_time; |
|---|
| 61 |
}; |
|---|
| 62 |
|
|---|
| 63 |
struct _vxm_task { |
|---|
| 64 |
uint16_t pid; |
|---|
| 65 |
uint16_t state; |
|---|
| 66 |
}; |
|---|
| 67 |
|
|---|
| 68 |
struct _vxm_event { |
|---|
| 69 |
uint32_t jif; |
|---|
| 70 |
union { |
|---|
| 71 |
uint32_t seq; |
|---|
| 72 |
uint32_t sec; |
|---|
| 73 |
}; |
|---|
| 74 |
union { |
|---|
| 75 |
uint32_t tokens; |
|---|
| 76 |
uint32_t nsec; |
|---|
| 77 |
struct _vxm_task tsk; |
|---|
| 78 |
}; |
|---|
| 79 |
}; |
|---|
| 80 |
|
|---|
| 81 |
struct _vx_mon_entry { |
|---|
| 82 |
uint16_t type; |
|---|
| 83 |
uint16_t xid; |
|---|
| 84 |
union { |
|---|
| 85 |
struct _vxm_event ev; |
|---|
| 86 |
struct _vxm_sched sd; |
|---|
| 87 |
struct _vxm_update_1 u1; |
|---|
| 88 |
struct _vxm_update_2 u2; |
|---|
| 89 |
struct _vxm_rqinfo_1 q1; |
|---|
| 90 |
struct _vxm_rqinfo_2 q2; |
|---|
| 91 |
}; |
|---|
| 92 |
}; |
|---|
| 93 |
|
|---|
| 94 |
|
|---|
| 95 |
#endif |
|---|