This patch series introduces a new configuration option called BPF_READAHEAD, which is designed to optimize the read performance in Spark SQL scenarios using eBPF to implement a programmable kernel.
The first patch adds the BPF_READAHEAD option to the kernel configuration, along with the necessary changes to the filesystem and memory management code to support this feature. The option is disabled by default and depends on CONFIG_TRACEPOINTS.
The second patch enables the BPF_READAHEAD option in the openeuler_defconfig files for arm64, powerpc, riscv, and x86 architectures. This ensures that the feature is available on the supported architectures when needed.
The BPF_READAHEAD option allows for fine-tuning the kernel's readahead behavior based on the application's read patterns, leading to improved read performance in specific scenarios like Spark SQL.
ZhaoLong Wang (2): mm, fs: Add BPF_READAHEAD build option for bpf readhead arch: Add BPF_READAHEAD config options for supported architectures
arch/arm64/configs/openeuler_defconfig | 1 + arch/powerpc/configs/openeuler_defconfig | 1 + arch/riscv/configs/openeuler_defconfig | 1 + arch/x86/configs/openeuler_defconfig | 1 + fs/read_write.c | 4 ++-- include/linux/fs.h | 18 +++++++++++++----- include/trace/events/fs.h | 6 ++++++ mm/Kconfig | 9 +++++++++ 8 files changed, 34 insertions(+), 7 deletions(-)