The functionality of context tracking has been implemented by PPC64 and
HAVE_CONTEXT_TRACKING was selected by pseries by default.
Actually, it is applicale to all PPC64 platforms, so select it in PPC64
generic Kconfig.

NO_HZ_FULL depends on it, with this change NO_HZ_FULL could be enabled
for all PPC64 machines.

Signed-off-by: Yang Shi <yang....@linaro.org>
---
Following the instruction in Documentation/timers/NO_HZ.txt, I tested full nohz
on my FSL T2080 target, the below trace log shows it works well.

       user_loop-574   [001] d..1   137.044892: tick_stop: success=yes msg=
       user_loop-574   [001] d.h1   138.044880: hrtimer_expire_entry: 
hrtimer=c00000007fd22d10 function=.tick_sched_timer now=137796002092
       user_loop-574   [001] d.h1   139.044880: hrtimer_expire_entry: 
hrtimer=c00000007fd22d10 function=.tick_sched_timer now=138796002129
       user_loop-574   [001] d.h1   140.044880: hrtimer_expire_entry: 
hrtimer=c00000007fd22d10 function=.tick_sched_timer now=139796002219
       user_loop-574   [001] d.h1   141.044880: hrtimer_expire_entry: 
hrtimer=c00000007fd22d10 function=.tick_sched_timer now=140796002229
       user_loop-574   [001] d.h1   142.044879: hrtimer_expire_entry: 
hrtimer=c00000007fd22d10 function=.tick_sched_timer now=141796002159
       user_loop-574   [001] d.h1   143.044879: hrtimer_expire_entry: 
hrtimer=c00000007fd22d10 function=.tick_sched_timer now=142796002142
       user_loop-574   [001] d.h1   144.044878: hrtimer_expire_entry: 
hrtimer=c00000007fd22d10 function=.tick_sched_timer now=143796002046
       user_loop-574   [001] d.h1   145.044878: hrtimer_expire_entry: 
hrtimer=c00000007fd22d10 function=.tick_sched_timer now=144796002189
       user_loop-574   [001] d.h1   146.044878: hrtimer_expire_entry: 
hrtimer=c00000007fd22d10 function=.tick_sched_timer now=145796002199
       user_loop-574   [001] d.h1   147.044880: hrtimer_expire_entry: 
hrtimer=c00000007fd22d10 function=.tick_sched_timer now=146796003836

It shows the timer tick just comes in every second.

It should be low risk to have problem on other PPC64 targets, although they are
not tested. 

 arch/powerpc/platforms/Kconfig.cputype | 1 +
 arch/powerpc/platforms/pseries/Kconfig | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/platforms/Kconfig.cputype 
b/arch/powerpc/platforms/Kconfig.cputype
index 142dff5..7b25dd1 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -3,6 +3,7 @@ config PPC64
        default n
        select HAVE_VIRT_CPU_ACCOUNTING
        select ZLIB_DEFLATE
+       select HAVE_CONTEXT_TRACKING
        help
          This option selects whether a 32-bit or a 64-bit kernel
          will be built.
diff --git a/arch/powerpc/platforms/pseries/Kconfig 
b/arch/powerpc/platforms/pseries/Kconfig
index bec90fb..6853148 100644
--- a/arch/powerpc/platforms/pseries/Kconfig
+++ b/arch/powerpc/platforms/pseries/Kconfig
@@ -17,7 +17,6 @@ config PPC_PSERIES
        select PPC_UDBG_16550
        select PPC_NATIVE
        select PPC_DOORBELL
-       select HAVE_CONTEXT_TRACKING
        select HOTPLUG_CPU if SMP
        select ARCH_RANDOM
        select PPC_DOORBELL
-- 
2.0.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
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