Commit 291248fd authored by Karol Swietlicki's avatar Karol Swietlicki Committed by Linus Torvalds

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: default avatarKarol Swietlicki <magotari@gmail.com>
Signed-off-by: default avatarJeff Dike <jdike@linux.intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent ab8cda43
...@@ -81,12 +81,12 @@ static inline void set_current(struct task_struct *task) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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;
......
...@@ -8,11 +8,11 @@ ...@@ -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;
......
...@@ -172,7 +172,7 @@ void clear_flushed_tls(struct task_struct *task) ...@@ -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;
......
...@@ -105,7 +105,7 @@ long sys_clone(unsigned long clone_flags, unsigned long newsp, ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment