x86: Don't use the strict copy checks when branch profiling is in use
authorArjan van de Ven <arjan@infradead.org>
Tue, 6 Oct 2009 14:04:52 +0000 (07:04 -0700)
committerIngo Molnar <mingo@elte.hu>
Mon, 12 Oct 2009 20:29:51 +0000 (22:29 +0200)
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 1bd2e36f1538828e3ab98b25bad4a72c5c8a6ad5..fb772b6a41ad02ffdb6426924a9c17cf8b9850c9 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.