
From: Gu Bowen <gubowen5@huawei.com> hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/ICA1GK -------------------------------- Add kfuncs to get CMA information. Co-developed-by: GONG Ruiqi <gongruiqi1@huawei.com> Signed-off-by: GONG Ruiqi <gongruiqi1@huawei.com> Signed-off-by: Gu Bowen <gubowen5@huawei.com> --- kernel/bpf-rvi/common_kfuncs.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/kernel/bpf-rvi/common_kfuncs.c b/kernel/bpf-rvi/common_kfuncs.c index 2313c8c490dc..5a3f04b7da61 100644 --- a/kernel/bpf-rvi/common_kfuncs.c +++ b/kernel/bpf-rvi/common_kfuncs.c @@ -15,6 +15,7 @@ #include <linux/time64.h> #include <linux/timekeeping.h> #include <linux/time_namespace.h> +#include <linux/cma.h> #include <linux/btf_ids.h> #include <linux/bpf.h> @@ -175,6 +176,16 @@ __bpf_kfunc unsigned long bpf_mem_kreclaimable(void) global_node_page_state(NR_KERNEL_MISC_RECLAIMABLE); } +__bpf_kfunc unsigned long bpf_mem_totalcma(void) +{ + return totalcma_pages; +} + +__bpf_kfunc unsigned long bpf_mem_freecma(void) +{ + return global_zone_page_state(NR_FREE_CMA_PAGES); +} + BTF_SET8_START(bpf_common_kfuncs_ids) BTF_ID_FLAGS(func, bpf_mem_cgroup_from_task, KF_RET_NULL | KF_RCU) BTF_ID_FLAGS(func, bpf_task_active_pid_ns, KF_TRUSTED_ARGS) @@ -194,6 +205,8 @@ BTF_ID_FLAGS(func, bpf_kcpustat_cpu_fetch) BTF_ID_FLAGS(func, bpf_mem_file_hugepage) BTF_ID_FLAGS(func, bpf_mem_file_pmdmapped) BTF_ID_FLAGS(func, bpf_mem_kreclaimable) +BTF_ID_FLAGS(func, bpf_mem_totalcma) +BTF_ID_FLAGS(func, bpf_mem_freecma) BTF_SET8_END(bpf_common_kfuncs_ids) static const struct btf_kfunc_id_set bpf_common_kfuncs_set = { -- 2.25.1