I'm trying to test your new branch timers/nohz-help-testing.
Since I'm using ARM, I cherry-picket a few of Kevin's commits from his
arm-nohz-v3/context-tracking branch. It is based on an older version
of NOHZ, but I think the context tracking and virtual CPU accounting
should be pretty much the same. If not, then that might be the reason
for my problems below...
I'm unable to select CONFIG_NO_HZ_FULL. It misses
CONFIG_VIRT_CPU_ACCOUNTING_GEN. I have CONFIG_VIRT_CPU_ACCOUNTING set
by CONFIG_VIRT_CPU_ACCOUNTING_NATIVE though, but this didn't help.
With below change I could at least go on with fixing compile errors:
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
index e1ac129..cd00820 100644
--- a/kernel/time/Kconfig
+++ b/kernel/time/Kconfig
@@ -106,7 +106,7 @@ config NO_HZ_FULL
depends on HAVE_CONTEXT_TRACKING
# RCU_NOCB_CPU dependency
depends on TREE_RCU || TREE_PREEMPT_RCU
- depends on VIRT_CPU_ACCOUNTING_GEN
+ depends on VIRT_CPU_ACCOUNTING
select NO_HZ_COMMON
select RCU_USER_QS
select RCU_NOCB_CPU
/Mats
On Tue, Apr 23, 2013 at 2:40 PM, Mats Liljegren
<[email protected]> wrote:
> I'm trying to test your new branch timers/nohz-help-testing.
>
> Since I'm using ARM, I cherry-picket a few of Kevin's commits from his
> arm-nohz-v3/context-tracking branch. It is based on an older version
> of NOHZ, but I think the context tracking and virtual CPU accounting
> should be pretty much the same. If not, then that might be the reason
> for my problems below...
>
> I'm unable to select CONFIG_NO_HZ_FULL. It misses
> CONFIG_VIRT_CPU_ACCOUNTING_GEN. I have CONFIG_VIRT_CPU_ACCOUNTING set
> by CONFIG_VIRT_CPU_ACCOUNTING_NATIVE though, but this didn't help.
>
> With below change I could at least go on with fixing compile errors:
>
> diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
> index e1ac129..cd00820 100644
> --- a/kernel/time/Kconfig
> +++ b/kernel/time/Kconfig
> @@ -106,7 +106,7 @@ config NO_HZ_FULL
> depends on HAVE_CONTEXT_TRACKING
> # RCU_NOCB_CPU dependency
> depends on TREE_RCU || TREE_PREEMPT_RCU
> - depends on VIRT_CPU_ACCOUNTING_GEN
> + depends on VIRT_CPU_ACCOUNTING
> select NO_HZ_COMMON
> select RCU_USER_QS
> select RCU_NOCB_CPU
>
> /Mats
Forget the above mail, I was too picky in my cherry-picking... When I
applied Kevins 64-bit fixes for VIRT_CPU_ACCOUNTING, I could select
VIRT_CPU_ACCOUNTING_GEN and get NO_HZ_FULL.
I think the naming is somewhat confusing, since
VIRT_CPU_ACCOUNTING_GEN is required by NO_HZ_FULL,
VIRT_CPU_ACCOUNTING_NATIVE is apparently not suitable for some reason.
Both VIRT_CPU_ACCOUNTING_(GEN|NATIVE) selects VIRT_CPU_ACCOUNTING,
making at least my head spin...
Sorry for the confusion...
/Mats