linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v5 0/7] Speed booting by sorting ORC unwind tables at build time
@ 2019-11-28 11:01 Shile Zhang
  2019-11-28 11:02 ` [RFC PATCH v5 1/7] scripts/sortextable: Rewrite error/success handling Shile Zhang
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Shile Zhang @ 2019-11-28 11:01 UTC (permalink / raw)
  To: Peter Zijlstra, Josh Poimboeuf, Masahiro Yamada, Michal Marek,
	Thomas Gleixner, Ingo Molnar, Borislav Petkov, Andy Lutomirski,
	x86
  Cc: H . Peter Anvin, linux-kernel, linux-kbuild, Shile Zhang

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@amacapital.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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-12-02 12:10 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-28 11:01 [RFC PATCH v5 0/7] Speed booting by sorting ORC unwind tables at build time Shile Zhang
2019-11-28 11:02 ` [RFC PATCH v5 1/7] scripts/sortextable: Rewrite error/success handling Shile Zhang
2019-11-28 11:02 ` [RFC PATCH v5 2/7] scripts/sortextable: kernel coding style formating Shile Zhang
2019-11-28 11:02 ` [RFC PATCH v5 3/7] scripts/sortextable: Remove dead code Shile Zhang
2019-11-28 11:02 ` [RFC PATCH v5 4/7] scripts/sortextable: refactor do_func() function Shile Zhang
2019-11-28 11:02 ` [RFC PATCH v5 5/7] scripts/sorttable: rename sortextable to sorttable Shile Zhang
2019-11-28 11:02 ` [RFC PATCH v5 6/7] scripts/sorttable: Add ORC unwind tables sort concurrently Shile Zhang
2019-11-28 11:02 ` [RFC PATCH v5 7/7] x86/unwind/orc: remove run-time ORC unwind tables sort Shile Zhang
2019-12-02 10:32 ` [RFC PATCH v5 0/7] Speed booting by sorting ORC unwind tables at build time Peter Zijlstra
2019-12-02 12:10   ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).