Messages in this thread Patch in this message | | | From | Keith Owens <> | Subject | [patch 2.6.7-rc2] Add const to some scheduling functions | Date | Tue, 01 Jun 2004 13:46:56 +1000 |
| |
Several scheduler macros only read from the task struct, mark them const. It can generate better code.
Index: 2.6.7-rc2/include/linux/sched.h =================================================================== --- 2.6.7-rc2.orig/include/linux/sched.h Mon May 31 09:52:55 2004 +++ 2.6.7-rc2/include/linux/sched.h Tue Jun 1 13:40:51 2004 @@ -681,9 +681,9 @@ extern void sched_balance_exec(void); extern void sched_idle_next(void); extern void set_user_nice(task_t *p, long nice); -extern int task_prio(task_t *p); -extern int task_nice(task_t *p); -extern int task_curr(task_t *p); +extern int task_prio(const task_t *p); +extern int task_nice(const task_t *p); +extern int task_curr(const task_t *p); extern int idle_cpu(int cpu); void yield(void); @@ -905,7 +905,7 @@ extern void wait_task_inactive(task_t * #define while_each_thread(g, t) \ while ((t = next_thread(t)) != g) -extern task_t * FASTCALL(next_thread(task_t *p)); +extern task_t * FASTCALL(next_thread(const task_t *p)); #define thread_group_leader(p) (p->pid == p->tgid) @@ -1044,7 +1044,7 @@ extern void signal_wake_up(struct task_s */ #ifdef CONFIG_SMP -static inline unsigned int task_cpu(struct task_struct *p) +static inline unsigned int task_cpu(const struct task_struct *p) { return p->thread_info->cpu; } Index: 2.6.7-rc2/kernel/exit.c =================================================================== --- 2.6.7-rc2.orig/kernel/exit.c Mon May 31 09:52:57 2004 +++ 2.6.7-rc2/kernel/exit.c Tue Jun 1 13:40:51 2004 @@ -826,10 +826,10 @@ asmlinkage long sys_exit(int error_code) do_exit((error_code&0xff)<<8); } -task_t fastcall *next_thread(task_t *p) +task_t fastcall *next_thread(const task_t *p) { - struct pid_link *link = p->pids + PIDTYPE_TGID; - struct list_head *tmp, *head = &link->pidptr->task_list; + const struct pid_link *link = p->pids + PIDTYPE_TGID; + const struct list_head *tmp, *head = &link->pidptr->task_list; #ifdef CONFIG_SMP if (!p->sighand) Index: 2.6.7-rc2/kernel/sched.c =================================================================== --- 2.6.7-rc2.orig/kernel/sched.c Mon May 31 09:52:57 2004 +++ 2.6.7-rc2/kernel/sched.c Tue Jun 1 13:40:51 2004 @@ -546,7 +546,7 @@ static inline void resched_task(task_t * * task_curr - is this task currently executing on a CPU? * @p: the task in question. */ -inline int task_curr(task_t *p) +inline int task_curr(const task_t *p) { return cpu_curr(task_cpu(p)) == p; } @@ -2640,7 +2640,7 @@ asmlinkage long sys_nice(int increment) * RT tasks are offset by -200. Normal tasks are centered * around 0, value goes from -16 to +15. */ -int task_prio(task_t *p) +int task_prio(const task_t *p) { return p->prio - MAX_RT_PRIO; } @@ -2649,7 +2649,7 @@ int task_prio(task_t *p) * task_nice - return the nice value of a given task. * @p: the task in question. */ -int task_nice(task_t *p) +int task_nice(const task_t *p) { return TASK_NICE(p); } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |