]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
Merge branch 'fortglx/3.8/time' of git://git.linaro.org/people/jstultz/linux into...
authorThomas Gleixner <tglx@linutronix.de>
Wed, 21 Nov 2012 19:31:52 +0000 (20:31 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 21 Nov 2012 19:31:52 +0000 (20:31 +0100)
Fix trivial conflicts in: kernel/time/tick-sched.c

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1  2 
kernel/time/tick-sched.c

index 77729cc3750b02b9acd402268433a3620c670b7a,a678046c3e5eb0cb5eebdc45719140482a197a4a..c96fd6a7625ca009bc7c0891614499b3678c0925
@@@ -98,49 -98,6 +98,49 @@@ static ktime_t tick_init_jiffy_update(v
        return period;
  }
  
-        * xtime_lock.
 +
 +static void tick_sched_do_timer(ktime_t now)
 +{
 +      int cpu = smp_processor_id();
 +
 +#ifdef CONFIG_NO_HZ
 +      /*
 +       * Check if the do_timer duty was dropped. We don't care about
 +       * concurrency: This happens only when the cpu in charge went
 +       * into a long sleep. If two cpus happen to assign themself to
 +       * this duty, then the jiffies update is still serialized by
++       * jiffies_lock.
 +       */
 +      if (unlikely(tick_do_timer_cpu == TICK_DO_TIMER_NONE))
 +              tick_do_timer_cpu = cpu;
 +#endif
 +
 +      /* Check, if the jiffies need an update */
 +      if (tick_do_timer_cpu == cpu)
 +              tick_do_update_jiffies64(now);
 +}
 +
 +static void tick_sched_handle(struct tick_sched *ts, struct pt_regs *regs)
 +{
 +#ifdef CONFIG_NO_HZ
 +      /*
 +       * When we are idle and the tick is stopped, we have to touch
 +       * the watchdog as we might not schedule for a really long
 +       * time. This happens on complete idle SMP systems while
 +       * waiting on the login prompt. We also increment the "start of
 +       * idle" jiffy stamp so the idle accounting adjustment we do
 +       * when we go busy again does not account too much ticks.
 +       */
 +      if (ts->tick_stopped) {
 +              touch_softlockup_watchdog();
 +              if (is_idle_task(current))
 +                      ts->idle_jiffies++;
 +      }
 +#endif
 +      update_process_times(user_mode(regs));
 +      profile_tick(CPU_PROFILING);
 +}
 +
  /*
   * NOHZ - aka dynamic tick functionality
   */
@@@ -859,7 -874,7 +859,7 @@@ void tick_setup_sched_timer(void
        /* Get the next period (per cpu) */
        hrtimer_set_expires(&ts->sched_timer, tick_init_jiffy_update());
  
--      /* Offset the tick to avert xtime_lock contention. */
++      /* Offset the tick to avert jiffies_lock contention. */
        if (sched_skew_tick) {
                u64 offset = ktime_to_ns(tick_period) >> 1;
                do_div(offset, num_possible_cpus());