2009-10-06 14:05:03

by Arjan van de Ven

[permalink] [raw]
Subject: [PATCH] x86: Don't use the strict copy checks when branch profiling is in use


>From 3719b55e3091ad2cf8c2cfc358223c2b749ff3fd Mon Sep 17 00:00:00 2001
From: Arjan van de Ven <[email protected]>
Date: Tue, 6 Oct 2009 07:02:10 -0700
Subject: [PATCH] x86: Don't use the strict copy checks when branch profiling is in use

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 <[email protected]>
---
arch/x86/Kconfig.debug | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index 1bd2e36..fb772b6 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -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.
--
1.6.2.5


--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org


2009-10-12 20:44:25

by Arjan van de Ven

[permalink] [raw]
Subject: [tip:x86/asm] x86: Don't use the strict copy checks when branch profiling is in use

Commit-ID: ad8f4356af58f7ded6b4a5787c67c7cab51066b5
Gitweb: http://git.kernel.org/tip/ad8f4356af58f7ded6b4a5787c67c7cab51066b5
Author: Arjan van de Ven <[email protected]>
AuthorDate: Tue, 6 Oct 2009 07:04:52 -0700
Committer: Ingo Molnar <[email protected]>
CommitDate: Mon, 12 Oct 2009 22:29:51 +0200

x86: Don't use the strict copy checks when branch profiling is in use

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 <[email protected]>
Cc: Steven Rostedt <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/Kconfig.debug | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index 1bd2e36..fb772b6 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -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.