
Common supports: bpf-rvi: cpuset: Fix missing of return for !tsk in task_effective_cpumask() bpf-rvi: memcg: Add bpf_mem_cgroup_from_task() kfunc bpf-rvi: cgroup: Add cgroup_rstat_flush_atomic() kfunc bpf-rvi: proc: add bpf_get_{idle,iowait}_time kfunc bpf-rvi: cpuacct: Add bpf_cpuacct_kcpustat_cpu_fetch kfunc bpf-rvi: cpuacct: Add task_cpuacct() Cpuinfo_arm64: bpf-rvi: arm64: Add bpf_arm64_cpu_have_feature() kfunc bpf-rvi: arm64: Add cpuinfo_arm64 iterator target bpf-rvi: Add bpf_arch_flags kunc for arm64 samples/bpf: Add iterator program for cpuinfo_arm64 Diskstats: bpf-rvi: block: Add diskstats iterator target bpf-rvi: blk-cgroup: Add bpf_blkcg_get_dev_iostat() kfunc samples/bpf: Add iterator program for diskstats Partitions: bpf-rvi: block: Add partitions iterator target bpf-rvi: block: Look up /dev in reaper's fs->root and filter partitions samples/bpf: Add iterator program for partitions Loadavg: bpf-rvi: pidns: Calculate loadavg for each pid namespace bpf-rvi: pidns: Add for_each_task_in_pidns and loadavg-related kfuncs samples/bpf: Add iterator program for loadavg Uptime: bpf-rvi: cpuacct: Add bpf_task_ca_cpuusage() kfunc samples/bpf: Add iterator program for uptime Swaps: bpf-rvi: Add bpf_si_memswinfo() kfunc bpf-rvi: Add bpf_page_counter_read() kfunc samples/bpf: Add iterator program for swaps Stat: bpf-rvi: Add bpf_seq_file_append() kfunc bpf-rvi: Add stat-related misc kfuncs bpf-rvi: Add cpu runqueue related kfuncs bpf-rvi: Add kstat_ & kcpustat_ kfuncs bpf-rvi: stat: Add stat iterator target samples/bpf: Add iterator program for stat Meminfo: bpf-rvi: x86: Add bpf_mem_direct_map kfunc bpf-rvi: proc/meminfo: Add bpf_mem_* kfunc bpf-rvi: cma: Add bpf_mem_{total,free}cma kfunc bpf-rvi: hugetlb: Add bpf_hugetlb_report_meminfo kfunc bpf-rvi: mmm/memory-failure: Add bpf_mem_failure kfunc bpf-rvi: mm/percpu: Add bpf_mem_percpu kfunc bpf-rvi: mm/util: Add bpf_mem_commit* kfunc bpf-rvi: mm/vmalloc: Add bpf_mem_vmalloc_{used,total} kfunc samples/bpf: Add iterator program for meminfo --- GONG Ruiqi (31): bpf-rvi: cpuset: Fix missing of return for !tsk in task_effective_cpumask() bpf-rvi: memcg: Add bpf_mem_cgroup_from_task() kfunc bpf-rvi: cgroup: Add cgroup_rstat_flush_atomic() kfunc bpf-rvi: proc: add bpf_get_{idle,iowait}_time kfunc bpf-rvi: cpuacct: Add bpf_cpuacct_kcpustat_cpu_fetch kfunc bpf-rvi: cpuacct: Add task_cpuacct() bpf-rvi: arm64: Add bpf_arm64_cpu_have_feature() kfunc bpf-rvi: arm64: Add cpuinfo_arm64 iterator target bpf-rvi: Add bpf_arch_flags kunc for arm64 samples/bpf: Add iterator program for cpuinfo_arm64 bpf-rvi: block: Add diskstats iterator target bpf-rvi: blk-cgroup: Add bpf_blkcg_get_dev_iostat() kfunc samples/bpf: Add iterator program for diskstats bpf-rvi: block: Add partitions iterator target bpf-rvi: block: Look up /dev in reaper's fs->root and filter partitions samples/bpf: Add iterator program for partitions bpf-rvi: pidns: Calculate loadavg for each pid namespace bpf-rvi: pidns: Add for_each_task_in_pidns and loadavg-related kfuncs samples/bpf: Add iterator program for loadavg bpf-rvi: cpuacct: Add bpf_task_ca_cpuusage() kfunc samples/bpf: Add iterator program for uptime bpf-rvi: Add bpf_si_memswinfo() kfunc bpf-rvi: Add bpf_page_counter_read() kfunc samples/bpf: Add iterator program for swaps bpf-rvi: Add bpf_seq_file_append() kfunc bpf-rvi: Add stat-related misc kfuncs bpf-rvi: Add cpu runqueue related kfuncs bpf-rvi: Add kstat_ & kcpustat_ kfuncs bpf-rvi: stat: Add stat iterator target samples/bpf: Add iterator program for stat samples/bpf: Add iterator program for meminfo Gu Bowen (8): bpf-rvi: x86: Add bpf_mem_direct_map kfunc bpf-rvi: proc/meminfo: Add bpf_mem_* kfunc bpf-rvi: cma: Add bpf_mem_{total,free}cma kfunc bpf-rvi: hugetlb: Add bpf_hugetlb_report_meminfo kfunc bpf-rvi: mmm/memory-failure: Add bpf_mem_failure kfunc bpf-rvi: mm/percpu: Add bpf_mem_percpu kfunc bpf-rvi: mm/util: Add bpf_mem_commit* kfunc bpf-rvi: mm/vmalloc: Add bpf_mem_vmalloc_{used,total} kfunc arch/arm64/kernel/Makefile | 1 + arch/arm64/kernel/bpf-rvi.c | 212 +++++++++ arch/arm64/kernel/cpufeature.c | 28 ++ arch/arm64/kernel/cpuinfo.c | 128 +----- arch/arm64/kernel/hwcap_str.h | 131 ++++++ arch/x86/mm/pat/set_memory.c | 33 ++ block/Kconfig.iosched | 3 + block/blk-cgroup.c | 159 +++++++ block/genhd.c | 432 ++++++++++++++++-- fs/proc/meminfo.c | 40 ++ fs/proc/stat.c | 204 +++++++++ include/linux/cgroup.h | 12 + include/linux/pid.h | 5 + include/linux/pid_namespace.h | 29 ++ kernel/bpf-rvi/Kconfig | 2 + kernel/bpf-rvi/Makefile | 2 +- kernel/bpf-rvi/common_kfuncs.c | 136 ++++++ kernel/bpf-rvi/generic_single_iter.c | 3 + kernel/bpf/helpers.c | 27 ++ kernel/cgroup/cpuset.c | 4 +- kernel/cgroup/rstat.c | 18 + kernel/pid.c | 10 + kernel/pid_namespace.c | 142 ++++++ kernel/sched/cpuacct.c | 43 ++ mm/cma.c | 35 ++ mm/hugetlb.c | 57 +++ mm/memcontrol.c | 30 +- mm/memory-failure.c | 28 ++ mm/percpu.c | 27 ++ mm/util.c | 32 ++ mm/vmalloc.c | 33 ++ samples/bpf/Makefile | 10 + samples/bpf/bpf_rvi_cpuinfo_arm64.bpf.c | 112 +++++ samples/bpf/bpf_rvi_diskstats.bpf.c | 295 ++++++++++++ samples/bpf/bpf_rvi_loadavg.bpf.c | 60 +++ samples/bpf/bpf_rvi_meminfo.bpf.c | 239 ++++++++++ samples/bpf/bpf_rvi_partitions.bpf.c | 42 ++ samples/bpf/bpf_rvi_stat.bpf.c | 220 +++++++++ samples/bpf/bpf_rvi_swaps.bpf.c | 104 +++++ samples/bpf/bpf_rvi_uptime.bpf.c | 122 +++++ .../selftests/bpf/progs/proc_iter_common.h | 0 41 files changed, 3084 insertions(+), 166 deletions(-) create mode 100644 arch/arm64/kernel/bpf-rvi.c create mode 100644 arch/arm64/kernel/hwcap_str.h create mode 100644 kernel/bpf-rvi/common_kfuncs.c create mode 100644 samples/bpf/bpf_rvi_cpuinfo_arm64.bpf.c create mode 100644 samples/bpf/bpf_rvi_diskstats.bpf.c create mode 100644 samples/bpf/bpf_rvi_loadavg.bpf.c create mode 100644 samples/bpf/bpf_rvi_meminfo.bpf.c create mode 100644 samples/bpf/bpf_rvi_partitions.bpf.c create mode 100644 samples/bpf/bpf_rvi_stat.bpf.c create mode 100644 samples/bpf/bpf_rvi_swaps.bpf.c create mode 100644 samples/bpf/bpf_rvi_uptime.bpf.c create mode 100644 tools/testing/selftests/bpf/progs/proc_iter_common.h -- 2.25.1