uml: remove unused variables in the context switcher

This patch removes a variable which was not used in two functions.  Yet
another code cleanup, nothing really significant.

Please note that I could not test this on x86_64. I don't have the
hardware for it.

[ jdike - Bits of tidying around the affected code.  Also, it's fine on
x86_64 ]

Signed-off-by: Karol Swietlicki <magotari@gmail.com>
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Karol Swietlicki 2008-02-04 22:30:49 -08:00 committed by Linus Torvalds
parent ab8cda4347
commit 291248fd6e
4 changed files with 13 additions and 16 deletions

View File

@ -81,12 +81,12 @@ static inline void set_current(struct task_struct *task)
{ external_pid(task), task }); { external_pid(task), task });
} }
extern void arch_switch_to(struct task_struct *from, struct task_struct *to); extern void arch_switch_to(struct task_struct *to);
void *_switch_to(void *prev, void *next, void *last) void *_switch_to(void *prev, void *next, void *last)
{ {
struct task_struct *from = prev; struct task_struct *from = prev;
struct task_struct *to= next; struct task_struct *to = next;
to->thread.prev_sched = from; to->thread.prev_sched = from;
set_current(to); set_current(to);
@ -94,16 +94,15 @@ void *_switch_to(void *prev, void *next, void *last)
do { do {
current->thread.saved_task = NULL; current->thread.saved_task = NULL;
switch_threads(&from->thread.switch_buf, switch_threads(&from->thread.switch_buf, &to->thread.switch_buf);
&to->thread.switch_buf);
arch_switch_to(current->thread.prev_sched, current); arch_switch_to(current);
if (current->thread.saved_task) if (current->thread.saved_task)
show_regs(&(current->thread.regs)); show_regs(&(current->thread.regs));
next= current->thread.saved_task; next = current->thread.saved_task;
prev= current; prev = current;
} while(current->thread.saved_task); } while (current->thread.saved_task);
return current->thread.prev_sched; return current->thread.prev_sched;
@ -161,8 +160,6 @@ void new_thread_handler(void)
void fork_handler(void) void fork_handler(void)
{ {
force_flush_all(); force_flush_all();
if (current->thread.prev_sched == NULL)
panic("blech");
schedule_tail(current->thread.prev_sched); schedule_tail(current->thread.prev_sched);
@ -171,7 +168,7 @@ void fork_handler(void)
* arch_switch_to isn't needed. We could want to apply this to * arch_switch_to isn't needed. We could want to apply this to
* improve performance. -bb * improve performance. -bb
*/ */
arch_switch_to(current->thread.prev_sched, current); arch_switch_to(current);
current->thread.prev_sched = NULL; current->thread.prev_sched = NULL;

View File

@ -8,11 +8,11 @@
#include "asm/uaccess.h" #include "asm/uaccess.h"
#include "skas.h" #include "skas.h"
extern int arch_switch_tls(struct task_struct *from, struct task_struct *to); extern int arch_switch_tls(struct task_struct *to);
void arch_switch_to(struct task_struct *from, struct task_struct *to) void arch_switch_to(struct task_struct *to)
{ {
int err = arch_switch_tls(from, to); int err = arch_switch_tls(to);
if (!err) if (!err)
return; return;

View File

@ -172,7 +172,7 @@ void clear_flushed_tls(struct task_struct *task)
* SKAS patch. * SKAS patch.
*/ */
int arch_switch_tls(struct task_struct *from, struct task_struct *to) int arch_switch_tls(struct task_struct *to)
{ {
if (!host_supports_tls) if (!host_supports_tls)
return 0; return 0;

View File

@ -105,7 +105,7 @@ long sys_clone(unsigned long clone_flags, unsigned long newsp,
return ret; return ret;
} }
void arch_switch_to(struct task_struct *from, struct task_struct *to) void arch_switch_to(struct task_struct *to)
{ {
if ((to->thread.arch.fs == 0) || (to->mm == NULL)) if ((to->thread.arch.fs == 0) || (to->mm == NULL))
return; return;