[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230727073632.44983-1-zhouchuyi@bytedance.com>
Date: Thu, 27 Jul 2023 15:36:27 +0800
From: Chuyi Zhou <zhouchuyi@...edance.com>
To: hannes@...xchg.org, mhocko@...nel.org, roman.gushchin@...ux.dev,
ast@...nel.org, daniel@...earbox.net, andrii@...nel.org
Cc: bpf@...r.kernel.org, linux-kernel@...r.kernel.org,
wuyun.abel@...edance.com, robin.lu@...edance.com,
Chuyi Zhou <zhouchuyi@...edance.com>
Subject: [RFC PATCH 0/5] mm: Select victim memcg using BPF_OOM_POLICY
This patchset tries to add a new bpf prog type and use it to select
a victim memcg when global OOM is invoked. The mainly motivation is
the need to customizable OOM victim selection functionality so that
we can protect more important app from OOM killer.
Chuyi Zhou (5):
bpf: Introduce BPF_PROG_TYPE_OOM_POLICY
mm: Select victim memcg using bpf prog
libbpf, bpftool: Support BPF_PROG_TYPE_OOM_POLICY
bpf: Add a new bpf helper to get cgroup ino
bpf: Sample BPF program to set oom policy
include/linux/bpf_oom.h | 22 ++++
include/linux/bpf_types.h | 2 +
include/linux/memcontrol.h | 6 ++
include/uapi/linux/bpf.h | 21 ++++
kernel/bpf/core.c | 1 +
kernel/bpf/helpers.c | 17 +++
kernel/bpf/syscall.c | 10 ++
mm/memcontrol.c | 50 +++++++++
mm/oom_kill.c | 185 +++++++++++++++++++++++++++++++++
samples/bpf/Makefile | 3 +
samples/bpf/oom_kern.c | 42 ++++++++
samples/bpf/oom_user.c | 128 +++++++++++++++++++++++
tools/bpf/bpftool/common.c | 1 +
tools/include/uapi/linux/bpf.h | 21 ++++
tools/lib/bpf/libbpf.c | 3 +
tools/lib/bpf/libbpf_probes.c | 2 +
16 files changed, 514 insertions(+)
create mode 100644 include/linux/bpf_oom.h
create mode 100644 samples/bpf/oom_kern.c
create mode 100644 samples/bpf/oom_user.c
--
2.20.1
Powered by blists - more mailing lists