aboutsummaryrefslogtreecommitdiffstats
path: root/mm/internal.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
commitc71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch)
treeecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /mm/internal.h
parentea53c912f8a86a8567697115b6a0d8152beee5c8 (diff)
parent6a00f206debf8a5c8899055726ad127dbeeed098 (diff)
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts: litmus/sched_cedf.c
Diffstat (limited to 'mm/internal.h')
-rw-r--r--mm/internal.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/mm/internal.h b/mm/internal.h
index 6a697bb97fc5..d071d380fb49 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -62,10 +62,14 @@ extern bool is_free_buddy_page(struct page *page);
62 */ 62 */
63static inline unsigned long page_order(struct page *page) 63static inline unsigned long page_order(struct page *page)
64{ 64{
65 VM_BUG_ON(!PageBuddy(page)); 65 /* PageBuddy() must be checked by the caller */
66 return page_private(page); 66 return page_private(page);
67} 67}
68 68
69/* mm/util.c */
70void __vma_link_list(struct mm_struct *mm, struct vm_area_struct *vma,
71 struct vm_area_struct *prev, struct rb_node *rb_parent);
72
69#ifdef CONFIG_MMU 73#ifdef CONFIG_MMU
70extern long mlock_vma_pages_range(struct vm_area_struct *vma, 74extern long mlock_vma_pages_range(struct vm_area_struct *vma,
71 unsigned long start, unsigned long end); 75 unsigned long start, unsigned long end);
@@ -134,6 +138,10 @@ static inline void mlock_migrate_page(struct page *newpage, struct page *page)
134 } 138 }
135} 139}
136 140
141#ifdef CONFIG_TRANSPARENT_HUGEPAGE
142extern unsigned long vma_address(struct page *page,
143 struct vm_area_struct *vma);
144#endif
137#else /* !CONFIG_MMU */ 145#else /* !CONFIG_MMU */
138static inline int is_mlocked_vma(struct vm_area_struct *v, struct page *p) 146static inline int is_mlocked_vma(struct vm_area_struct *v, struct page *p)
139{ 147{
@@ -158,7 +166,7 @@ static inline struct page *mem_map_offset(struct page *base, int offset)
158} 166}
159 167
160/* 168/*
161 * Iterator over all subpages withing the maximally aligned gigantic 169 * Iterator over all subpages within the maximally aligned gigantic
162 * page 'base'. Handle any discontiguity in the mem_map. 170 * page 'base'. Handle any discontiguity in the mem_map.
163 */ 171 */
164static inline struct page *mem_map_next(struct page *iter, 172static inline struct page *mem_map_next(struct page *iter,
@@ -241,10 +249,6 @@ static inline void mminit_validate_memmodel_limits(unsigned long *start_pfn,
241} 249}
242#endif /* CONFIG_SPARSEMEM */ 250#endif /* CONFIG_SPARSEMEM */
243 251
244int __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
245 unsigned long start, int len, unsigned int foll_flags,
246 struct page **pages, struct vm_area_struct **vmas);
247
248#define ZONE_RECLAIM_NOSCAN -2 252#define ZONE_RECLAIM_NOSCAN -2
249#define ZONE_RECLAIM_FULL -1 253#define ZONE_RECLAIM_FULL -1
250#define ZONE_RECLAIM_SOME 0 254#define ZONE_RECLAIM_SOME 0