Introduce NUMA isolation and consolidation.
Guan Jing (1):
sched: Add can_migrate_task hook
Hui Tang (10):
sched: Introduce CONFIG_TASK_PLACEMENT_BY_CPU_RANGE
sched: Some fixes for select_rq hook
bpf:programmable: Add nodemask operation collection
sched: Introduce task relationship by net and memory
bpf:programmable: Add helper to get memory and net relationship
sched: Add ioctl to get relationship
sched: Update numa group preferred node periodically
bpf:programmable: Add helper to set preferred node
sched: Introduce CONFIG_QOS_SCHED_NUMA_ICON
config: Enable NUMA isolation and consolidation by default
arch/arm64/configs/openeuler_defconfig | 4 +-
arch/x86/configs/openeuler_defconfig | 2 +
fs/exec.c | 2 +
include/linux/sched.h | 58 +++-
include/linux/sched/relationship.h | 202 ++++++++++++
include/linux/sched_hook_defs.h | 4 +
include/uapi/linux/bpf.h | 50 +++
include/uapi/linux/sched_ctrl.h | 57 ++++
init/Kconfig | 28 ++
init/init_task.c | 3 +
kernel/fork.c | 13 +
kernel/sched/Makefile | 2 +
kernel/sched/bpf_sched.c | 149 +++++++++
kernel/sched/core.c | 7 +
kernel/sched/debug.c | 2 +
kernel/sched/fair.c | 302 +++++++++++++++--
kernel/sched/numa_icon.c | 144 ++++++++
kernel/sched/numa_icon.h | 43 +++
kernel/sched/relationship.c | 436 +++++++++++++++++++++++++
kernel/sched/relationship_ioctl.c | 142 ++++++++
kernel/sched/sched.h | 2 +
scripts/bpf_helpers_doc.py | 12 +
tools/include/uapi/linux/bpf.h | 50 +++
tools/lib/bpf/libbpf_sched.h | 160 ++++++++-
24 files changed, 1848 insertions(+), 26 deletions(-)
create mode 100644 include/linux/sched/relationship.h
create mode 100644 include/uapi/linux/sched_ctrl.h
create mode 100644 kernel/sched/numa_icon.c
create mode 100644 kernel/sched/numa_icon.h
create mode 100644 kernel/sched/relationship.c
create mode 100644 kernel/sched/relationship_ioctl.c
--
2.34.1