
Support arm64 xcall prefetch. Changes in v2: - Remove is_read_cache. - Simplify the ksys_read(). - Use percpu cache_hit/miss_wait and remove cache_queued and sync_mode. - Remove keep_running in prefetch_item struct. - Add /proc/xcall/stats dir. - Remove pfi in file struct and use hash table. Jinjie Ruan (3): arm64: Introduce Xint software solution arm64: Add debugfs dir for xint xcall: Add /proc/xcall/stats dir for performance tuning Liao Chen (1): revert kpti bypass Yipeng Zou (5): arm64: Introduce xcall a faster svc exception handling arm64: Faster SVC exception handler with xcall xcall: introduce xcall_select to implement a custom xcall function eventpoll: xcall: Support sync and async prefetch data in epoll xcall: eventpoll: add tracepoint arch/Kconfig | 64 +++++++ arch/arm64/Kconfig | 2 + arch/arm64/configs/openeuler_defconfig | 4 + arch/arm64/include/asm/cpucaps.h | 2 + arch/arm64/include/asm/exception.h | 6 + arch/arm64/include/asm/syscall.h | 14 ++ arch/arm64/include/asm/syscall_wrapper.h | 25 +++ arch/arm64/kernel/asm-offsets.c | 3 + arch/arm64/kernel/cpufeature.c | 54 ++++++ arch/arm64/kernel/entry-common.c | 22 +++ arch/arm64/kernel/entry.S | 183 +++++++++++++++++- arch/arm64/kernel/sys.c | 20 ++ arch/arm64/kernel/syscall.c | 69 +++++++ drivers/irqchip/irq-gic-v3.c | 123 ++++++++++++ fs/eventpoll.c | 232 +++++++++++++++++++++++ fs/open.c | 4 + fs/proc/base.c | 214 +++++++++++++++++++++ fs/read_write.c | 95 +++++++++- include/linux/fs.h | 31 +++ include/linux/hardirq.h | 5 + include/linux/irqchip/arm-gic-v3.h | 13 ++ include/linux/sched.h | 5 + include/linux/syscalls.h | 19 ++ include/trace/events/fs.h | 91 +++++++++ include/uapi/asm-generic/unistd.h | 11 ++ kernel/fork.c | 32 ++++ kernel/irq/debugfs.c | 33 ++++ kernel/irq/internals.h | 18 ++ kernel/irq/irqdesc.c | 19 ++ kernel/irq/proc.c | 10 + kernel/softirq.c | 73 +++++++ kernel/sysctl.c | 36 ++++ 32 files changed, 1529 insertions(+), 3 deletions(-) -- 2.34.1