Commit 19529545 authored by Heiko Carstens's avatar Heiko Carstens Committed by Vasily Gorbik

s390/extable: search amode31 extable last

It is very unlikely that an exception happens within the amode31 text
section, therefore safe a couple of cycles for the common case, and
search the amode31 extable last.
Reviewed-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
parent a156f09c
...@@ -230,13 +230,13 @@ static noinline void do_sigsegv(struct pt_regs *regs, int si_code) ...@@ -230,13 +230,13 @@ static noinline void do_sigsegv(struct pt_regs *regs, int si_code)
const struct exception_table_entry *s390_search_extables(unsigned long addr) const struct exception_table_entry *s390_search_extables(unsigned long addr)
{ {
const struct exception_table_entry *fixup; const struct exception_table_entry *fixup;
size_t num;
fixup = search_extable(__start_amode31_ex_table, fixup = search_exception_tables(addr);
__stop_amode31_ex_table - __start_amode31_ex_table, if (fixup)
addr); return fixup;
if (!fixup) num = __stop_amode31_ex_table - __start_amode31_ex_table;
fixup = search_exception_tables(addr); return search_extable(__start_amode31_ex_table, num, addr);
return fixup;
} }
static noinline void do_no_context(struct pt_regs *regs) static noinline void do_no_context(struct pt_regs *regs)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment