Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/mm/hugetlb_cma.h
51610 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef _LINUX_HUGETLB_CMA_H
3
#define _LINUX_HUGETLB_CMA_H
4
5
#ifdef CONFIG_CMA
6
void hugetlb_cma_free_frozen_folio(struct folio *folio);
7
struct folio *hugetlb_cma_alloc_frozen_folio(int order, gfp_t gfp_mask,
8
int nid, nodemask_t *nodemask);
9
struct huge_bootmem_page *hugetlb_cma_alloc_bootmem(struct hstate *h, int *nid,
10
bool node_exact);
11
bool hugetlb_cma_exclusive_alloc(void);
12
unsigned long hugetlb_cma_total_size(void);
13
void hugetlb_cma_validate_params(void);
14
bool hugetlb_early_cma(struct hstate *h);
15
#else
16
static inline void hugetlb_cma_free_frozen_folio(struct folio *folio)
17
{
18
}
19
20
static inline struct folio *hugetlb_cma_alloc_frozen_folio(int order,
21
gfp_t gfp_mask, int nid, nodemask_t *nodemask)
22
{
23
return NULL;
24
}
25
26
static inline
27
struct huge_bootmem_page *hugetlb_cma_alloc_bootmem(struct hstate *h, int *nid,
28
bool node_exact)
29
{
30
return NULL;
31
}
32
33
static inline bool hugetlb_cma_exclusive_alloc(void)
34
{
35
return false;
36
}
37
38
static inline unsigned long hugetlb_cma_total_size(void)
39
{
40
return 0;
41
}
42
43
static inline void hugetlb_cma_validate_params(void)
44
{
45
}
46
47
static inline bool hugetlb_early_cma(struct hstate *h)
48
{
49
return false;
50
}
51
#endif
52
#endif
53
54