x86: Don't use the strict copy checks when branch profiling is in use
Arjan van de Ven [Tue, 6 Oct 2009 14:04:52 +0000 (07:04 -0700)]
The branch profiling creates very complex code for each if
statement, to the point that gcc has trouble even analyzing
something as simple as

  if (count > 5)
      count = 5;

This then means that causing an error on code that gcc cannot
analyze for copy_from_user() and co is not very productive.

This patch excludes the strict copy checks in the case of branch
profiling being enabled.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <20091006070452.5e1fc119@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

arch/x86/Kconfig.debug

index 1bd2e36..fb772b6 100644 (file)
@@ -289,7 +289,7 @@ config OPTIMIZE_INLINING
 
 config DEBUG_STRICT_USER_COPY_CHECKS
        bool "Strict copy size checks"
-       depends on DEBUG_KERNEL
+       depends on DEBUG_KERNEL && !TRACE_BRANCH_PROFILING
        ---help---
          Enabling this option turns a certain set of sanity checks for user
          copy operations into compile time failures.