Re: [RFC GIT PULL] nohz: Kconfig layout improvements

From: Ingo Molnar
Date: Wed Apr 10 2013 - 13:24:55 EST



* Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:

> 2013/4/8 Ingo Molnar <mingo@xxxxxxxxxx>:
> > I pulled it into tip:timers/nohz and will push it out if it passes testing because
> > I like the improvements - but there's still a few things missing I think.
> >
> > Firstly, I performed this "how are users exposed to this new feature" test:
> >
> > git checkout v3.9-rc6
> > make defconfig
> > git checkout tip/master
> > make oldconfig
> >
> > the x86 (64-bit) defconfig has NO_HZ enabled. When I did the 'make oldconfig', I
> > was given:
> >
> > *
> > * Timers subsystem
> > *
> > Timer tick handling
> > > 1. Periodic timer ticks (constant rate, no dynticks) (PERIODIC_HZ) (NEW)
> > 2. Idle dynticks system (tickless idle) (NO_HZ_IDLE) (NEW)
> > choice[1-2]:
> >
> > [ Firstly, while at it: that should be 'Timer subsystem' or 'Timers'. ]
>
> Isn't "Timers" too general? I really don't mind changing that though.

I'd suggest consulting Thomas.

> > More importantly, the new Kconfig behavior is still not quite right for two
> > reasons:
> >
> > 1)
> >
> > the default is not set to NO_HZ_IDLE. The oldconfig .config had
> > CONFIG_NO_HZ set - this should be grandfathered over into the new config's
> > default choice. That can probably be done by still keeping CONFIG_NO_HZ as
> > a migration helper entry.
>
> Ah I did keep it for backward compatibility. We default to
> CONFIG_NO_HZ_IDLE if CONFIG_NO_HZ is set. This is just not working
> because CONFIG_NO_HZ isn't visible. It's an arbirtrary Kconfig
> limitation. I'll just make it visible by adding it a title text and
> this will work.

Okay, cool!

> > 2)
> >
> > there's still no extended idle tick option offered - due to it not meeting
> > the CONFIG_VIRT_CPU_ACCOUNTING_GEN dependency.
> >
> > Even if I read the Kconfig rules and figure out the dependency, I have to
> > perform _two_ steps to get extended ticks:
> >
> > I had to manually find CONFIG_VIRT_CPU_ACCOUNTING_GEN in the .config and
> > delete it, so that I'm given the choice on the next 'make oldconfig'.
> >
> > Then NO_HZ_EXTENDED was set to disabled in the .config silently, because
> > NO_HZ_IDLE was already set. So I had to delete that and re-configure it
> > again.
>
> Agreed. I mentioned that in the pull request. It's again due to an
> arbitrary Kconfig limitation. The following:
>
> config X
> select Y
>
> doesn't work if Y is part of a Kconfig "choice".
> I have a patch that fixes in Kconfig, will submit it to Michal and fix
> the nohz passive dependency once we get that sorted.

Wow, you are fixing kconfig.

99% of the people work it around in some fashion.

Kudos!

Thanks,

Ingo
--
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/