diff options
Diffstat (limited to 'xen/include/xeno/sched.h')
-rw-r--r-- | xen/include/xeno/sched.h | 53 |
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); |