Re: [PATCH] [v3] warn on performance-impacting configs aka. TAINT_PERFORMANCE

Tim Chen
2014-08-22T18:12:46Z

On Fri, 2014-08-22 at 09:45 -0700, Dave Hansen wrote:
> On 08/22/2014 09:32 AM, Tim Chen wrote:
> >> > +#ifdef CONFIG_DEBUG_OBJECTS_FREE
> >> > + "DEBUG_OBJECTS_FREE",
> >> > +#endif
> >> > +#ifdef CONFIG_DEBUG_KMEMLEAK
> >> > + "DEBUG_KMEMLEAK",
> >> > +#endif
> >> > +#ifdef CONFIG_DEBUG_PAGEALLOC
> >> > + "DEBUG_PAGEALLOC",
> > I think coverage profiling also impact performance.
> > So I sould also put CONFIG_GCOV_KERNEL in the list.
>
> Would CONFIG_GCOV_PROFILE_ALL be the better one to check? With plain
> GCOV_KERNEL, I don't think we will, by default, put the coverage
> information in any files and slow them down.

CONFIG_GCOV_PROFILE_ALL is definitely a no no regarding to
performance impact, which is mentioned in the gcov documentation.

I haven't tested this, but if profiling is turned on only for
a piece of code that is performance critical but not for
the whole kernel, in theory performance can still be impacted
with the overhead. So I think it is safer to check
for CONFIG_GCOV_KERNEL, that has no reason to be turned on
for any workload that's performance critical.

Tim