From 102a0743326a03cd1a1202ceda21e175b7d3575c Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Tue, 20 Feb 2024 01:20:52 +0000 Subject: [PATCH] add new system file --- kernel/mm/cma.h | 31 +++++++++++++++++++++++++++++-- 1 files changed, 29 insertions(+), 2 deletions(-) diff --git a/kernel/mm/cma.h b/kernel/mm/cma.h index e9e5924..bebb669 100644 --- a/kernel/mm/cma.h +++ b/kernel/mm/cma.h @@ -2,6 +2,15 @@ #ifndef __MM_CMA_H__ #define __MM_CMA_H__ +#include <linux/debugfs.h> +#include <linux/kobject.h> +#include <linux/android_vendor.h> + +struct cma_kobject { + struct kobject kobj; + struct cma *cma; +}; + struct cma { unsigned long base_pfn; unsigned long count; @@ -11,9 +20,18 @@ #ifdef CONFIG_CMA_DEBUGFS struct hlist_head mem_head; spinlock_t mem_head_lock; + struct debugfs_u32_array dfs_bitmap; #endif - const char *name; - bool inactive; + char name[CMA_MAX_NAME]; +#ifdef CONFIG_CMA_SYSFS + /* the number of CMA page successful allocations */ + atomic64_t nr_pages_succeeded; + /* the number of CMA page allocation failures */ + atomic64_t nr_pages_failed; + /* kobject requires dynamic object */ + struct cma_kobject *cma_kobj; +#endif + ANDROID_OEM_DATA_ARRAY(1, 4); }; extern struct cma cma_areas[MAX_CMA_AREAS]; @@ -24,4 +42,13 @@ return cma->count >> cma->order_per_bit; } +#ifdef CONFIG_CMA_SYSFS +void cma_sysfs_account_success_pages(struct cma *cma, unsigned long nr_pages); +void cma_sysfs_account_fail_pages(struct cma *cma, unsigned long nr_pages); +#else +static inline void cma_sysfs_account_success_pages(struct cma *cma, + unsigned long nr_pages) {}; +static inline void cma_sysfs_account_fail_pages(struct cma *cma, + unsigned long nr_pages) {}; +#endif #endif -- Gitblit v1.6.2