[tip:x86/extable] extable: Skip sorting if sorted at build time.

From: tip-bot for David Daney
Date: Thu Apr 19 2012 - 20:21:36 EST


Commit-ID: d219e2e86a407035303b987e4184ca0b1de53257
Gitweb: http://git.kernel.org/tip/d219e2e86a407035303b987e4184ca0b1de53257
Author: David Daney <david.daney@xxxxxxxxxx>
AuthorDate: Thu, 19 Apr 2012 14:59:56 -0700
Committer: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
CommitDate: Thu, 19 Apr 2012 15:06:55 -0700

extable: Skip sorting if sorted at build time.

If the build program sortextable has already sorted the exception
table, don't sort it again.

Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/1334872799-14589-3-git-send-email-ddaney.cavm@xxxxxxxxx
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
---
kernel/extable.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/kernel/extable.c b/kernel/extable.c
index 5339705..fe35a63 100644
--- a/kernel/extable.c
+++ b/kernel/extable.c
@@ -35,10 +35,16 @@ DEFINE_MUTEX(text_mutex);
extern struct exception_table_entry __start___ex_table[];
extern struct exception_table_entry __stop___ex_table[];

+/* Cleared by build time tools if the table is already sorted. */
+u32 __initdata main_extable_sort_needed = 1;
+
/* Sort the kernel's built-in exception table */
void __init sort_main_extable(void)
{
- sort_extable(__start___ex_table, __stop___ex_table);
+ if (main_extable_sort_needed)
+ sort_extable(__start___ex_table, __stop___ex_table);
+ else
+ pr_notice("__ex_table already sorted, skipping sort\n");
}

/* Given an address, look for it in the exception tables. */
--
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/