[GIT PULL] nohz: Bunch of fixes

From: Frederic Weisbecker
Date: Fri May 03 2013 - 12:48:34 EST


Ingo,

Please pull the timers/nohz-hz1 branch that can be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
timers/nohz-hz1

HEAD: a7f4d69bb1d5e1f573b680355a2ad51566338887

It fixes a Kconfig dependency issue and forces a minimum of 1 tick every seconds
to keep handling the scheduler_tick() duties, even at a very low granularity. This
is a workaround until we can handle all these duties through on-demand driven
solutions rather than using periodic events, as per your suggestion.

I just noted two things:

* update_cpu_load_active() seem to rely on the fixed periodic tick at the
HZ rate. There is certainly something to tweak there to make it really correct
with dynamick ticks. I have the feeling that modifying pending_updates won't work
as it seems to decay assuming the time to catch up was idle.

* I'll probably have to disable CONFIG_CFS_BANDWIDTH when full dynticks
is enabled. First of all it modifies rq->nr_running without using inc/dec_nr_running
standard API, which is required for full dynticks. And second, I need to triple
check it's safe to use with 1 tick per second.

Ah and please note the merge commit (c032862fba51a3ca504752d3a25186b324c5ce83)
that was needed to get latest RCU and sched updates for the Kconfig fix.

Thanks,
Frederic
---

Frederic Weisbecker (2):
rcu: Fix full dynticks' dependency on wide RCU nocb mode
sched: Keep at least 1 tick per second for active dynticks tasks


include/linux/sched.h | 1 +
init/Kconfig | 4 ++--
kernel/sched/core.c | 30 ++++++++++++++++++++++++++++++
kernel/sched/idle_task.c | 1 +
kernel/sched/sched.h | 10 ++++++++++
kernel/time/Kconfig | 1 -
kernel/time/tick-sched.c | 7 +++++++
7 files changed, 51 insertions(+), 3 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/