mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-01 08:04:22 +08:00
2281f797f5
CMA_MAX_NAME should be visible to CMA's users as they might need it to set the name of CMA areas and avoid hardcoding the size locally. So this patch moves CMA_MAX_NAME from local header file to include/linux header file and removes the hardcode in both hugetlb.c and contiguous.c. Signed-off-by: Barry Song <song.bao.hua@hisilicon.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
30 lines
646 B
C
30 lines
646 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __MM_CMA_H__
|
|
#define __MM_CMA_H__
|
|
|
|
#include <linux/debugfs.h>
|
|
|
|
struct cma {
|
|
unsigned long base_pfn;
|
|
unsigned long count;
|
|
unsigned long *bitmap;
|
|
unsigned int order_per_bit; /* Order of pages represented by one bit */
|
|
struct mutex lock;
|
|
#ifdef CONFIG_CMA_DEBUGFS
|
|
struct hlist_head mem_head;
|
|
spinlock_t mem_head_lock;
|
|
struct debugfs_u32_array dfs_bitmap;
|
|
#endif
|
|
char name[CMA_MAX_NAME];
|
|
};
|
|
|
|
extern struct cma cma_areas[MAX_CMA_AREAS];
|
|
extern unsigned cma_area_count;
|
|
|
|
static inline unsigned long cma_bitmap_maxno(struct cma *cma)
|
|
{
|
|
return cma->count >> cma->order_per_bit;
|
|
}
|
|
|
|
#endif
|