From: Shao Denghui <shaodenghui(a)huawei.com>
When the current downstream FS tests IPSAN, it is found that the performance on ARM is much worse than that on X86, and the test data of IPSAN fluctuates greatly. After analysis, the reason is that when iscsi issues IO, the task is sent to kworker for processing by iscsi_xmitworker.
The workqueue created by iscsi can automatically identify the CPU of the soft interrupt currently processed by iscsi, and automatically schedule the workqueue to the corresponding NUMA node.
Shao Denghui (3):
workqueue: add member for NUMA aware order workqueue and implement
NUMA affinity for single thread workqueue
iscsi: use dynamic single thread workqueue to improve performance
Add kernel compilation configuration options
Kconfig | 2 ++
arch/arm64/configs/openeuler_defconfig | 1 +
arch/x86/configs/openeuler_defconfig | 1 +
drivers/scsi/iscsi_tcp.c | 13 +++++++++++++
drivers/scsi/libiscsi.c | 24 ++++++++++++++++++++++--
include/linux/workqueue.h | 1 +
include/scsi/libiscsi.h | 1 +
kernel/workqueue.c | 21 +++++++++++++++++++--
lib/Kconfig.openeuler | 8 ++++++++
9 files changed, 68 insertions(+), 4 deletions(-)
create mode 100644 lib/Kconfig.openeuler
--
2.33.0