summaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/sun4m_smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/kernel/sun4m_smp.c')
-rw-r--r--arch/sparc/kernel/sun4m_smp.c27
1 files changed, 2 insertions, 25 deletions
diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c
index 3475a8df5..60c37373e 100644
--- a/arch/sparc/kernel/sun4m_smp.c
+++ b/arch/sparc/kernel/sun4m_smp.c
@@ -439,10 +439,6 @@ void smp4m_cross_call_irq(void)
extern unsigned int prof_multiplier[NR_CPUS];
extern unsigned int prof_counter[NR_CPUS];
-extern void update_one_process(struct task_struct *p, unsigned long ticks,
- unsigned long user, unsigned long system,
- int cpu);
-
extern void sparc_do_profile(unsigned long pc, unsigned long o7);
void smp4m_percpu_timer_interrupt(struct pt_regs *regs)
@@ -458,29 +454,10 @@ void smp4m_percpu_timer_interrupt(struct pt_regs *regs)
int user = user_mode(regs);
irq_enter(cpu, 0);
- if(current->pid) {
- update_one_process(current, 1, user, !user, cpu);
-
- if(--current->counter <= 0) {
- current->counter = 0;
- current->need_resched = 1;
- }
+ update_process_times(user);
+ irq_exit(cpu, 0);
- if(user) {
- if(current->nice > 0) {
- kstat.cpu_nice++;
- kstat.per_cpu_nice[cpu]++;
- } else {
- kstat.cpu_user++;
- kstat.per_cpu_user[cpu]++;
- }
- } else {
- kstat.cpu_system++;
- kstat.per_cpu_system[cpu]++;
- }
- }
prof_counter[cpu] = prof_multiplier[cpu];
- irq_exit(cpu, 0);
}
}