[RFC PATCH v4 0/7] Speed booting by sorting ORC unwind tables at build time

From: Shile Zhang
Date: Fri Nov 15 2019 - 11:45:53 EST


Hi,

I refactored the code, followed by Peter's suggestions in v3, thank you!
Any suggestions and comments are welcome!

Thanks!

Changelog:
==========
v3->v4:
- Code refactored for Peter's review findings and suggestions.

v2->v3:
- Discard new added sortorctable tool and related Kconfig changes.
- Refactored sortextable, makes it more readable and extendable.
- Rename 'sortextable' to 'sorttable', for more kernel tables extend.
- Add ORC unwind tables sort into sorttable.
- Remove the runtime ORC tables sort.
https://lore.kernel.org/lkml/20191115064750.47888-1-shile.zhang@xxxxxxxxxxxxxxxxx/

v1->v2:
- Removed new added Kconfig and runtime sort code, advised by Josh Poimboeuf.
- Some minor refactoring.
https://lore.kernel.org/lkml/20191108071108.72132-1-shile.zhang@xxxxxxxxxxxxxxxxx/

v1:
- Added a new sortorctable tool to sort ORC unwind tables at build time,
same as sortextable.
- Add a new Kconfigure to control if ORC unwind tables sort at build
time.
https://lore.kernel.org/lkml/20191107143205.206606-1-shile.zhang@xxxxxxxxxxxxxxxxx/

Shile Zhang (7):
scripts/sortextable: Rewrite error/success handling
scripts/sortextable: kernel coding style formating
scripts/sortextable: Remove dead code
scripts/sortextable: refactor do_func() function
scripts/sorttable: rename sortextable to sorttable
scripts/sorttable: Add ORC unwind tables sort concurrently
x86/unwind/orc: remove run-time ORC unwind tables sort

arch/arc/Kconfig | 2 +-
arch/arm/Kconfig | 2 +-
arch/arm64/Kconfig | 2 +-
arch/microblaze/Kconfig | 2 +-
arch/mips/Kconfig | 2 +-
arch/parisc/Kconfig | 2 +-
arch/parisc/kernel/vmlinux.lds.S | 2 +-
arch/powerpc/Kconfig | 2 +-
arch/s390/Kconfig | 2 +-
arch/x86/Kconfig | 2 +-
arch/x86/kernel/unwind_orc.c | 8 +-
arch/xtensa/Kconfig | 2 +-
init/Kconfig | 2 +-
scripts/.gitignore | 2 +-
scripts/Makefile | 10 +-
scripts/link-vmlinux.sh | 10 +-
scripts/sortextable.h | 209 -------------
scripts/{sortextable.c => sorttable.c} | 299 +++++++++---------
scripts/sorttable.h | 401 +++++++++++++++++++++++++
19 files changed, 568 insertions(+), 395 deletions(-)
delete mode 100644 scripts/sortextable.h
rename scripts/{sortextable.c => sorttable.c} (67%)
create mode 100644 scripts/sorttable.h

--
2.24.0.rc2