aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xeno/sched.h
diff options
context:
space:
mode:
Diffstat (limited to 'xen/include/xeno/sched.h')
-rw-r--r--xen/include/xeno/sched.h53
1 files changed, 27 insertions, 26 deletions
diff --git a/xen/include/xeno/sched.h b/xen/include/xeno/sched.h
index b636c36f31..dbbf6a927e 100644
--- a/xen/include/xeno/sched.h
+++ b/xen/include/xeno/sched.h
@@ -63,20 +63,20 @@ extern struct mm_struct init_mm;
struct task_struct {
- /*
+ /*
* DO NOT CHANGE THE ORDER OF THE FOLLOWING.
* There offsets are hardcoded in entry.S
*/
int processor; /* 00: current processor */
- int state; /* 04: current run state */
- int hyp_events; /* 08: pending events */
+ int state; /* 04: current run state */
+ int hyp_events; /* 08: pending events */
unsigned int domain; /* 12: domain id */
/* An unsafe pointer into a shared data area. */
shared_info_t *shared_info; /* 16: shared data area */
- /*
+ /*
* From here on things can be added and shuffled without special attention
*/
@@ -84,25 +84,25 @@ struct task_struct {
unsigned int tot_pages; /* number of pages currently possesed */
unsigned int max_pages; /* max number of pages that can be possesed */
- /* scheduling */
- struct list_head run_list; /* the run list */
- int has_cpu;
- int policy;
- int counter;
+ /* scheduling */
+ struct list_head run_list; /* the run list */
+ int has_cpu;
+ int policy;
+ int counter;
- struct ac_timer blt; /* blocked timeout */
+ struct ac_timer blt; /* blocked timeout */
- s_time_t lastschd; /* time this domain was last scheduled */
- s_time_t cpu_time; /* total CPU time received till now */
+ s_time_t lastschd; /* time this domain was last scheduled */
+ s_time_t cpu_time; /* total CPU time received till now */
- long mcu_advance; /* inverse of weight */
- u32 avt; /* actual virtual time */
- u32 evt; /* effective virtual time */
- long warp; /* virtual time warp */
- long warpl; /* warp limit */
- long warpu; /* unwarp time requirement */
- long warped; /* time it ran warped last time */
- long uwarped; /* time it ran unwarped last time */
+ unsigned long mcu_advance; /* inverse of weight */
+ s32 avt; /* actual virtual time */
+ s32 evt; /* effective virtual time */
+ long warp; /* virtual time warp */
+ long warpl; /* warp limit */
+ long warpu; /* unwarp time requirement */
+ long warped; /* time it ran warped last time */
+ long uwarped; /* time it ran unwarped last time */
/* Network I/O */
@@ -119,7 +119,7 @@ struct task_struct {
segment_t *segment_list[XEN_MAX_SEGMENTS]; /* vhd */
int segment_count;
- /* VM */
+ /* VM */
struct mm_struct mm;
/* We need this lock to check page types and frob reference counts. */
spinlock_t page_lock;
@@ -158,7 +158,7 @@ struct task_struct {
#define TASK_RUNNING 0
#define TASK_INTERRUPTIBLE 1
#define TASK_UNINTERRUPTIBLE 2
-#define TASK_WAIT 4
+#define TASK_WAIT 4
#define TASK_DYING 16
/* #define TASK_STOPPED 8 not really used */
@@ -172,8 +172,8 @@ struct task_struct {
domain: IDLE_DOMAIN_ID, \
state: TASK_RUNNING, \
has_cpu: 0, \
- evt: 0x7fffffff, \
- avt: 0x7fffffff, \
+ evt: 0xffffffff, \
+ avt: 0xffffffff, \
mm: IDLE0_MM, \
addr_limit: KERNEL_DS, \
active_mm: &idle0_task.mm, \
@@ -186,7 +186,7 @@ struct task_struct {
#define is_idle_task(_p) ((_p)->domain == IDLE_DOMAIN_ID)
#ifndef IDLE0_TASK_SIZE
-#define IDLE0_TASK_SIZE 2048*sizeof(long)
+#define IDLE0_TASK_SIZE 2048*sizeof(long)
#endif
union task_union {
@@ -235,8 +235,9 @@ void scheduler_init(void);
void schedulers_start(void);
void sched_add_domain(struct task_struct *p);
void sched_rem_domain(struct task_struct *p);
+long sched_bvtctl(unsigned long ctx_allow);
long sched_adjdom(int dom, unsigned long mcu_adv, unsigned long warp,
- unsigned long warpl, unsigned long warpu);
+ unsigned long warpl, unsigned long warpu);
int wake_up(struct task_struct *p);
long schedule_timeout(long timeout);
long do_yield(void);