RE: [RFC PATCH v3 7/7] x86/unwind/orc: remove run-time ORC unwind tables sort

From: David Laight
Date: Fri Nov 15 2019 - 11:51:32 EST


From: Shile Zhang
> Sent: 15 November 2019 06:48
...
> arch/x86/kernel/unwind_orc.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kernel/unwind_orc.c b/arch/x86/kernel/unwind_orc.c
> index 332ae6530fa8..280da6fa9922 100644
> --- a/arch/x86/kernel/unwind_orc.c
> +++ b/arch/x86/kernel/unwind_orc.c
> @@ -273,9 +273,11 @@ void __init unwind_init(void)
> return;
> }
>
> - /* Sort the .orc_unwind and .orc_unwind_ip tables: */
> - sort(__start_orc_unwind_ip, num_entries, sizeof(int), orc_sort_cmp,
> - orc_sort_swap);
> + /*
> + * Note, orc_unwind and orc_unwind_ip tables has been sorted in
> + * vmlinux link phase by sorttable tool at build time.
> + * Its ready for binary search now.
> + */

How fast is sort() if the table is sorted?
Relying on the kernel sources and build scripts always being in sync seems dangerous.
Probably better to leave the sort in for a release of two.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)