Re: [pchecks v2 2/2] percpu: Add preemption checks to __this_cpu ops

From: Ingo Molnar
Date: Wed Sep 25 2013 - 14:11:56 EST



* Christoph Lameter <cl@xxxxxxxxx> wrote:

> On Tue, 24 Sep 2013, Ingo Molnar wrote:
>
> > Ok, this variant looks pretty good, modulo testing. I'd do:
> >
> > s/check_preemption/check_preemption_disabled
> >
> > but that's a minor detail.
>
> Sure.
>
> > > +config DEBUG_THIS_CPU_OPERATIONS
> > > + bool "Debug __this_cpu operations"
> > > + depends on DEBUG_PREEMPT
> > > + default n
> > > + help
> > > + Enables preemption checks for __this_cpu macros. These
> > > + are macros to generate single instruction operations on
> > > + per cpu data. The option only affects the __this_cpu variant
> > > + which is used when fallback to multiple instructions without
> > > + other synchronization is possible. A verification is then
> > > + done to make sure that the thread cannot be preempted.
> >
> > I don't think there's a need to make this a separate preemption debug
> > option: smp_processor_id() is really just a subset of the checks.
>
> I think this is necessary since it seems that the discussions on how to
> do the raw_cpu conversions may take some time. If we enable it by
> default then there will be numerous new log messages. That way a
> developer can enable it for working on this.

Note that for these patches to be eligible for upstream merge any extra
warnings that trigger must be fixed, regardless of the default setting.

The blind __this_cpu conversions without proper preempt debugging cannot
continue without first fixing all the fallout of the missing debug checks
to begin with.

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/