mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-11 17:10:13 +00:00
Supported a complete jump_label implementation based on the ARM64 and RV64 version and add the CONFIG_JUMP_LABEL=y to the defconfig. Testing was conducted using a dedicated test module jump-label-test, provided in the link below. For detailed steps, please refer to the README also at the provided link. Link: https://github.com/ChenMiaoi/GSoC-2025-Final-Report/tree/main/tests/jump-label-test Test Environment: - Hardware: QEMU emulated OR1K - Kernel Version: 6.17.0-rc3-dirty - Configs: CONFIG_MODULES=y,CONFIG_MODULE_UNLOAD=y - Toolchain: or1k-none-linux-musl-gcc 15.1.0 Test Results: $ insmod jump_label_test.ko [ 32.590000] Jump label performance test module loaded [ 35.250000] Normal branch time: 1241327150 ns (124 ns per iteration) [ 35.250000] Jump label (false) time: 706422700 ns (70 ns per iteration) [ 35.250000] Jump label (true) time: 708913450 ns (70 ns per iteration) $ rmmod jump_label_test.ko [ 72.210000] Jump label test module unloaded The results show approximately 43% improvement in branch performance when using jump labels compared to traditional branches. Link: https://lore.kernel.org/openrisc/aLsZ9S3X0OpKy1RM@antec/T/#u Signed-off-by: chenmiao <chenmiao.ku@gmail.com> Signed-off-by: Stafford Horne <shorne@gmail.com>
52 lines
1.2 KiB
Plaintext
52 lines
1.2 KiB
Plaintext
CONFIG_NO_HZ=y
|
|
CONFIG_LOG_BUF_SHIFT=14
|
|
CONFIG_BLK_DEV_INITRD=y
|
|
# CONFIG_RD_GZIP is not set
|
|
CONFIG_EXPERT=y
|
|
# CONFIG_EPOLL is not set
|
|
# CONFIG_TIMERFD is not set
|
|
# CONFIG_EVENTFD is not set
|
|
# CONFIG_AIO is not set
|
|
# CONFIG_KALLSYMS is not set
|
|
CONFIG_BUILTIN_DTB_NAME="or1ksim"
|
|
CONFIG_HZ_100=y
|
|
CONFIG_JUMP_LABEL=y
|
|
CONFIG_MODULES=y
|
|
# CONFIG_BLOCK is not set
|
|
CONFIG_SLUB_TINY=y
|
|
# CONFIG_COMPAT_BRK is not set
|
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
|
CONFIG_NET=y
|
|
CONFIG_PACKET=y
|
|
CONFIG_UNIX=y
|
|
CONFIG_INET=y
|
|
# CONFIG_INET_DIAG is not set
|
|
CONFIG_TCP_CONG_ADVANCED=y
|
|
# CONFIG_TCP_CONG_BIC is not set
|
|
# CONFIG_TCP_CONG_CUBIC is not set
|
|
# CONFIG_TCP_CONG_WESTWOOD is not set
|
|
# CONFIG_TCP_CONG_HTCP is not set
|
|
# CONFIG_IPV6 is not set
|
|
# CONFIG_WIRELESS is not set
|
|
CONFIG_DEVTMPFS=y
|
|
CONFIG_DEVTMPFS_MOUNT=y
|
|
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
|
# CONFIG_FW_LOADER is not set
|
|
CONFIG_NETDEVICES=y
|
|
CONFIG_ETHOC=y
|
|
CONFIG_MICREL_PHY=y
|
|
# CONFIG_WLAN is not set
|
|
# CONFIG_INPUT is not set
|
|
# CONFIG_SERIO is not set
|
|
# CONFIG_VT is not set
|
|
# CONFIG_LEGACY_PTYS is not set
|
|
CONFIG_SERIAL_8250=y
|
|
CONFIG_SERIAL_8250_CONSOLE=y
|
|
CONFIG_SERIAL_OF_PLATFORM=y
|
|
# CONFIG_HW_RANDOM is not set
|
|
# CONFIG_HWMON is not set
|
|
# CONFIG_USB_SUPPORT is not set
|
|
# CONFIG_DNOTIFY is not set
|
|
CONFIG_TMPFS=y
|
|
CONFIG_NFS_FS=y
|