Re: [PATCH v10 05/12] task_isolation: support CONFIG_TASK_ISOLATION_ALL

From: Ingo Molnar
Date: Sat Mar 05 2016 - 07:32:18 EST



* Chris Metcalf <cmetcalf@xxxxxxxxxxxx> wrote:

> On 03/03/2016 01:34 PM, Andi Kleen wrote:
> >Chris Metcalf <cmetcalf@xxxxxxxxxx> writes:
> >>+config TASK_ISOLATION_ALL
> >>+ bool "Provide task isolation on all CPUs by default (except CPU 0)"
> >>+ depends on TASK_ISOLATION
> >>+ help
> >>+ If the user doesn't pass the task_isolation boot option to
> >>+ define the range of task isolation CPUs, consider that all
> >>+ CPUs in the system are task isolation by default.
> >>+ Note the boot CPU will still be kept outside the range to
> >>+ handle timekeeping duty, etc.
> >That seems like a very dangerous Kconfig option.
> >"CONFIG_BREAK_EVERYTHING"
> >If someone sets that by default they will have a lot of trouble.
> >
> >I wouldn't add that, make it a run time option only.
>
> So you were thinking, allow a special boot syntax "task_isolation=all",
> which puts all the cores into task isolation mode except the boot core?
>
> My original argument was that it was so parallel to the existing
> CONFIG_NO_HZ_FULL_ALL option that it just made sense to do it,
> and some testers complained about having to specify the precise
> cpu range, so this seemed like an easy fix.

Yes, it's absolutely legitimate to offer boot options as Kconfig options as well -
in fact that will get things like randconfig bootups stumble upon them and do some
free testing for you. Just ignore Andi's nonsensical objection.

One day we'll have a unified boot parameter/Kconfig/sysctl mechanism, so that it
will be possible to say things like this on the boot command line:

CONFIG_NO_HZ_FULL_ALL=y

... which will eliminate quite a bit of the current schizm between Kconfig and
boot time parameters.

Thanks,

Ingo