From 3eed9763fa50b9932aae9c7c737b4fd836afd16e Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Fri, 26 Apr 2013 15:16:31 +0200 Subject: [PATCH] --- yaml --- r: 372935 b: refs/heads/master c: c58b0df12a6b5c497637db0676effd00e1fbab13 h: refs/heads/master i: 372933: 4e86f8b03428b76a153c0451263748ee9bb4946f 372931: 7ee57905d7629cbb3ba60c324c13976f318dbe3d 372927: 12083299421ec3194a893fc73814fae5dd4e7b88 v: v3 --- [refs] | 2 +- trunk/init/Kconfig | 6 +++--- trunk/kernel/time/Kconfig | 4 +++- trunk/kernel/time/tick-sched.c | 7 +++---- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index f39055b0f9bb..627f3f6bd2ed 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 47aa8b6cbcb839efe2edaa5b50fee21df115d37b +refs/heads/master: c58b0df12a6b5c497637db0676effd00e1fbab13 diff --git a/trunk/init/Kconfig b/trunk/init/Kconfig index edc8132584f1..8f97a7407714 100644 --- a/trunk/init/Kconfig +++ b/trunk/init/Kconfig @@ -306,7 +306,7 @@ choice # Kind of a stub config for the pure tick based cputime accounting config TICK_CPU_ACCOUNTING bool "Simple tick based cputime accounting" - depends on !S390 + depends on !S390 && !NO_HZ_FULL help This is the basic tick based cputime accounting that maintains statistics about user, system and idle time spent on per jiffies @@ -316,7 +316,7 @@ config TICK_CPU_ACCOUNTING config VIRT_CPU_ACCOUNTING_NATIVE bool "Deterministic task and CPU time accounting" - depends on HAVE_VIRT_CPU_ACCOUNTING + depends on HAVE_VIRT_CPU_ACCOUNTING && !NO_HZ_FULL select VIRT_CPU_ACCOUNTING help Select this option to enable more accurate task and CPU time @@ -346,7 +346,7 @@ config VIRT_CPU_ACCOUNTING_GEN config IRQ_TIME_ACCOUNTING bool "Fine granularity task level IRQ time accounting" - depends on HAVE_IRQ_TIME_ACCOUNTING + depends on HAVE_IRQ_TIME_ACCOUNTING && !NO_HZ_FULL help Select this option to enable fine granularity task irq time accounting. This is done by reading a timestamp on each diff --git a/trunk/kernel/time/Kconfig b/trunk/kernel/time/Kconfig index 1ea2bba4a686..a2ddd650cb92 100644 --- a/trunk/kernel/time/Kconfig +++ b/trunk/kernel/time/Kconfig @@ -104,11 +104,13 @@ config NO_HZ_FULL depends on SMP # RCU_USER_QS dependency depends on HAVE_CONTEXT_TRACKING - depends on VIRT_CPU_ACCOUNTING_GEN + # VIRT_CPU_ACCOUNTING_GEN dependency + depends on 64BIT select NO_HZ_COMMON select RCU_USER_QS select RCU_NOCB_CPU select RCU_NOCB_CPU_ALL + select VIRT_CPU_ACCOUNTING_GEN select CONTEXT_TRACKING_FORCE select IRQ_WORK help diff --git a/trunk/kernel/time/tick-sched.c b/trunk/kernel/time/tick-sched.c index da53c8f2beb5..85e05ab98253 100644 --- a/trunk/kernel/time/tick-sched.c +++ b/trunk/kernel/time/tick-sched.c @@ -565,12 +565,11 @@ static ktime_t tick_nohz_stop_sched_tick(struct tick_sched *ts, delta_jiffies = rcu_delta_jiffies; } } - /* - * Do not stop the tick, if we are only one off (or less) - * or if the cpu is required for RCU: + * Do not stop the tick, if we are only one off + * or if the cpu is required for rcu */ - if (!ts->tick_stopped && delta_jiffies <= 1) + if (!ts->tick_stopped && delta_jiffies == 1) goto out; /* Schedule the tick, if we are at least one jiffie off */