On Thu, Jun 11, 2015 at 07:36:07PM +0200, Frederic Weisbecker wrote:
> +static void tick_nohz_full_update_dependencies(void)
> +{
> +     struct tick_sched *ts = this_cpu_ptr(&tick_cpu_sched);
> +
> +     if (!posix_cpu_timers_can_stop_tick(current))
> +             ts->tick_needed |= TICK_NEEDED_POSIX_CPU_TIMER;
> +
> +     if (!perf_event_can_stop_tick())
> +             ts->tick_needed |= TICK_NEEDED_PERF_EVENT;
> +
> +     if (!sched_can_stop_tick())
> +             ts->tick_needed |= TICK_NEEDED_SCHED;
>  
>  #ifdef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
>       /*
> +      * sched_clock_tick() needs us?
> +      *
>        * TODO: kick full dynticks CPUs when
>        * sched_clock_stable is set.
>        */
>       if (!sched_clock_stable()) {
> +             ts->tick_needed |= TICK_NEEDED_CLOCK_UNSTABLE;
>               /*
>                * Don't allow the user to think they can get
>                * full NO_HZ with this machine.
>                */
>               WARN_ONCE(tick_nohz_full_running,
>                         "NO_HZ FULL will not work with unstable sched clock");
>       }
>  #endif
>  }

Colour me confused; why does this function exist at all? Should not
these bits be managed by those respective subsystems?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to