|
@@ -189,8 +189,7 @@ static inline struct hugetlbfs_sb_info *HUGETLBFS_SB(struct super_block *sb)
|
|
|
|
|
|
extern const struct file_operations hugetlbfs_file_operations;
|
|
|
extern const struct vm_operations_struct hugetlb_vm_ops;
|
|
|
-struct file *hugetlb_file_setup(const char *name, unsigned long addr,
|
|
|
- size_t size, vm_flags_t acct,
|
|
|
+struct file *hugetlb_file_setup(const char *name, size_t size, vm_flags_t acct,
|
|
|
struct user_struct **user, int creat_flags,
|
|
|
int page_size_log);
|
|
|
|
|
@@ -209,8 +208,8 @@ static inline int is_file_hugepages(struct file *file)
|
|
|
|
|
|
#define is_file_hugepages(file) 0
|
|
|
static inline struct file *
|
|
|
-hugetlb_file_setup(const char *name, unsigned long addr, size_t size,
|
|
|
- vm_flags_t acctflag, struct user_struct **user, int creat_flags,
|
|
|
+hugetlb_file_setup(const char *name, size_t size, vm_flags_t acctflag,
|
|
|
+ struct user_struct **user, int creat_flags,
|
|
|
int page_size_log)
|
|
|
{
|
|
|
return ERR_PTR(-ENOSYS);
|
|
@@ -288,6 +287,13 @@ static inline struct hstate *hstate_file(struct file *f)
|
|
|
return hstate_inode(file_inode(f));
|
|
|
}
|
|
|
|
|
|
+static inline struct hstate *hstate_sizelog(int page_size_log)
|
|
|
+{
|
|
|
+ if (!page_size_log)
|
|
|
+ return &default_hstate;
|
|
|
+ return size_to_hstate(1 << page_size_log);
|
|
|
+}
|
|
|
+
|
|
|
static inline struct hstate *hstate_vma(struct vm_area_struct *vma)
|
|
|
{
|
|
|
return hstate_file(vma->vm_file);
|
|
@@ -352,11 +358,12 @@ static inline int hstate_index(struct hstate *h)
|
|
|
return h - hstates;
|
|
|
}
|
|
|
|
|
|
-#else
|
|
|
+#else /* CONFIG_HUGETLB_PAGE */
|
|
|
struct hstate {};
|
|
|
#define alloc_huge_page_node(h, nid) NULL
|
|
|
#define alloc_bootmem_huge_page(h) NULL
|
|
|
#define hstate_file(f) NULL
|
|
|
+#define hstate_sizelog(s) NULL
|
|
|
#define hstate_vma(v) NULL
|
|
|
#define hstate_inode(i) NULL
|
|
|
#define huge_page_size(h) PAGE_SIZE
|
|
@@ -371,6 +378,6 @@ static inline unsigned int pages_per_huge_page(struct hstate *h)
|
|
|
}
|
|
|
#define hstate_index_to_shift(index) 0
|
|
|
#define hstate_index(h) 0
|
|
|
-#endif
|
|
|
+#endif /* CONFIG_HUGETLB_PAGE */
|
|
|
|
|
|
#endif /* _LINUX_HUGETLB_H */
|