patch-2.1.79 linux/arch/sparc64/kernel/smp.c
Next file: linux/arch/sparc64/kernel/sparc64_ksyms.c
Previous file: linux/arch/sparc64/kernel/signal32.c
Back to the patch index
Back to the overall index
- Lines: 50
- Date:
Mon Jan 12 15:15:44 1998
- Orig file:
v2.1.78/linux/arch/sparc64/kernel/smp.c
- Orig date:
Thu Sep 4 17:07:30 1997
diff -u --recursive --new-file v2.1.78/linux/arch/sparc64/kernel/smp.c linux/arch/sparc64/kernel/smp.c
@@ -3,6 +3,7 @@
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
*/
+#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/tasks.h>
@@ -23,6 +24,7 @@
#include <asm/spinlock.h>
#include <asm/hardirq.h>
#include <asm/softirq.h>
+#include <asm/uaccess.h>
#define __KERNEL_SYSCALLS__
#include <linux/unistd.h>
@@ -346,7 +348,7 @@
spin_lock(&scheduler_lock);
get_new_mmu_context(mm, &tlb_context_cache);
mm->cpu_vm_mask = (1UL << smp_processor_id());
- if(current->tss.current_ds) {
+ if(segment_eq(current->tss.current_ds,USER_DS)) {
u32 ctx = mm->context & 0x1fff;
current->tss.ctx = ctx;
@@ -473,6 +475,7 @@
static inline void sparc64_do_profile(unsigned long pc)
{
+#ifdef CONFIG_PROFILE
if(prof_buffer && current->pid) {
extern int _stext;
@@ -483,6 +486,7 @@
pc = prof_len - 1;
atomic_inc((atomic_t *)&prof_buffer[pc]);
}
+#endif
}
static unsigned long real_tick_offset, current_tick_offset;
@@ -510,7 +514,7 @@
update_one_process(current, 1, user, !user);
if(--current->counter < 0) {
current->counter = 0;
- resched_force();
+ need_resched = 1;
}
if(user) {
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov