aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mm.h')
-rw-r--r--include/linux/mm.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index b91a73fd1bcc..065cdf8c09fb 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -260,7 +260,6 @@ static inline int put_page_testzero(struct page *page)
260 */ 260 */
261static inline int get_page_unless_zero(struct page *page) 261static inline int get_page_unless_zero(struct page *page)
262{ 262{
263 VM_BUG_ON(PageTail(page));
264 return atomic_inc_not_zero(&page->_count); 263 return atomic_inc_not_zero(&page->_count);
265} 264}
266 265
@@ -1042,10 +1041,23 @@ extern void free_bootmem_with_active_regions(int nid,
1042typedef int (*work_fn_t)(unsigned long, unsigned long, void *); 1041typedef int (*work_fn_t)(unsigned long, unsigned long, void *);
1043extern void work_with_active_regions(int nid, work_fn_t work_fn, void *data); 1042extern void work_with_active_regions(int nid, work_fn_t work_fn, void *data);
1044extern void sparse_memory_present_with_active_regions(int nid); 1043extern void sparse_memory_present_with_active_regions(int nid);
1045#ifndef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
1046extern int early_pfn_to_nid(unsigned long pfn);
1047#endif /* CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID */
1048#endif /* CONFIG_ARCH_POPULATES_NODE_MAP */ 1044#endif /* CONFIG_ARCH_POPULATES_NODE_MAP */
1045
1046#if !defined(CONFIG_ARCH_POPULATES_NODE_MAP) && \
1047 !defined(CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID)
1048static inline int __early_pfn_to_nid(unsigned long pfn)
1049{
1050 return 0;
1051}
1052#else
1053/* please see mm/page_alloc.c */
1054extern int __meminit early_pfn_to_nid(unsigned long pfn);
1055#ifdef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
1056/* there is a per-arch backend function. */
1057extern int __meminit __early_pfn_to_nid(unsigned long pfn);
1058#endif /* CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID */
1059#endif
1060
1049extern void set_dma_reserve(unsigned long new_dma_reserve); 1061extern void set_dma_reserve(unsigned long new_dma_reserve);
1050extern void memmap_init_zone(unsigned long, int, unsigned long, 1062extern void memmap_init_zone(unsigned long, int, unsigned long,
1051 unsigned long, enum memmap_context); 1063 unsigned long, enum memmap_context);
@@ -1130,8 +1142,7 @@ extern unsigned long do_mmap_pgoff(struct file *file, unsigned long addr,
1130 unsigned long flag, unsigned long pgoff); 1142 unsigned long flag, unsigned long pgoff);
1131extern unsigned long mmap_region(struct file *file, unsigned long addr, 1143extern unsigned long mmap_region(struct file *file, unsigned long addr,
1132 unsigned long len, unsigned long flags, 1144 unsigned long len, unsigned long flags,
1133 unsigned int vm_flags, unsigned long pgoff, 1145 unsigned int vm_flags, unsigned long pgoff);
1134 int accountable);
1135 1146
1136static inline unsigned long do_mmap(struct file *file, unsigned long addr, 1147static inline unsigned long do_mmap(struct file *file, unsigned long addr,
1137 unsigned long len, unsigned long prot, 1148 unsigned long len, unsigned long prot,
@@ -1161,6 +1172,7 @@ extern int filemap_fault(struct vm_area_struct *, struct vm_fault *);
1161 1172
1162/* mm/page-writeback.c */ 1173/* mm/page-writeback.c */
1163int write_one_page(struct page *page, int wait); 1174int write_one_page(struct page *page, int wait);
1175void task_dirty_inc(struct task_struct *tsk);
1164 1176
1165/* readahead.c */ 1177/* readahead.c */
1166#define VM_MAX_READAHEAD 128 /* kbytes */ 1178#define VM_MAX_READAHEAD 128 /* kbytes */
@@ -1306,5 +1318,6 @@ void vmemmap_populate_print_last(void);
1306 1318
1307extern void *alloc_locked_buffer(size_t size); 1319extern void *alloc_locked_buffer(size_t size);
1308extern void free_locked_buffer(void *buffer, size_t size); 1320extern void free_locked_buffer(void *buffer, size_t size);
1321extern void release_locked_buffer(void *buffer, size_t size);
1309#endif /* __KERNEL__ */ 1322#endif /* __KERNEL__ */
1310#endif /* _LINUX_MM_H */ 1323#endif /* _LINUX_MM_H */