vserver 1.9.3
[linux-2.6.git] / arch / m68k / kernel / time.c
index d85616f..11d1229 100644 (file)
@@ -38,24 +38,6 @@ static inline int set_rtc_mmss(unsigned long nowtime)
   return -1;
 }
 
-static inline void do_profile (unsigned long pc)
-{
-       if (prof_buffer && current->pid) {
-               extern int _stext;
-               pc -= (unsigned long) &_stext;
-               pc >>= prof_shift;
-               if (pc < prof_len)
-                       ++prof_buffer[pc];
-               else
-               /*
-                * Don't ignore out-of-bounds PC values silently,
-                * put them into the last histogram slot, so if
-                * present, they will show up as a sharp peak.
-                */
-                       ++prof_buffer[prof_len-1];
-       }
-}
-
 /*
  * timer_interrupt() needs to keep up the real-time clock,
  * as well as call the "do_timer()" routine every clocktick
@@ -63,9 +45,7 @@ static inline void do_profile (unsigned long pc)
 static irqreturn_t timer_interrupt(int irq, void *dummy, struct pt_regs * regs)
 {
        do_timer(regs);
-
-       if (!user_mode(regs))
-               do_profile(regs->pc);
+       profile_tick(CPU_PROFILING, regs);
 
 #ifdef CONFIG_HEARTBEAT
        /* use power LED as a heartbeat instead -- much more useful