[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191128110206.2107-1-shile.zhang@linux.alibaba.com>
Date: Thu, 28 Nov 2019 19:01:59 +0800
From: Shile Zhang <shile.zhang@...ux.alibaba.com>
To: Peter Zijlstra <peterz@...radead.org>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Michal Marek <michal.lkml@...kovi.net>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Andy Lutomirski <luto@...capital.net>, x86@...nel.org
Cc: "H . Peter Anvin" <hpa@...or.com>, linux-kernel@...r.kernel.org,
linux-kbuild@...r.kernel.org,
Shile Zhang <shile.zhang@...ux.alibaba.com>
Subject: [RFC PATCH v5 0/7] Speed booting by sorting ORC unwind tables at build time
This series refactored the original sortextable tools, add ORC unwind
tables sort at build time.
To sort the ORC unwind tables(.orc_unwind & .orc_unwind_ip) can save
about 100ms in my test ENV (2C4G VM w/ Xeon 2.5GHz CPU).
It costs about 30ms sort by new sorttable tool.
Any comments or suggestions are welcome!
Thanks!
Changelog:
==========
v4->v5:
- replace sort with qsort, suggested by Andy Lutomirski <luto@...capital.net>;
- add error handling in link scripts;
- fixed some review findings;
v3->v4:
- Code refactored for Peter's review findings and suggestions.
https://lore.kernel.org/lkml/20191115164539.57930-1-shile.zhang@linux.alibaba.com/
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@linux.alibaba.com/
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@linux.alibaba.com/
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@linux.alibaba.com/
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/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 | 13 +-
scripts/sortextable.h | 209 --------------
scripts/{sortextable.c => sorttable.c} | 299 +++++++++----------
scripts/sorttable.h | 380 +++++++++++++++++++++++++
18 files changed, 549 insertions(+), 394 deletions(-)
delete mode 100644 scripts/sortextable.h
rename scripts/{sortextable.c => sorttable.c} (67%)
create mode 100644 scripts/sorttable.h
--
2.24.0.rc2
Powered by blists - more mailing lists