aboutsummaryrefslogtreecommitdiffstats
path: root/mm/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'mm/internal.h')
-rw-r--r--mm/internal.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/mm/internal.h b/mm/internal.h
index a25e359a4039..8bdf34edb5c2 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -13,6 +13,34 @@
13 13
14#include <linux/fs.h> 14#include <linux/fs.h>
15#include <linux/mm.h> 15#include <linux/mm.h>
16#include <linux/pagemap.h>
17
18/*
19 * Pagecache replication
20 */
21static inline int pcache_replicated(struct address_space *mapping, unsigned long offset)
22{
23 return radix_tree_tag_get(&mapping->page_tree, offset,
24 PAGECACHE_TAG_REPLICATED);
25}
26
27extern int reclaim_replicated_page(struct address_space *mapping,
28 struct page *page);
29extern struct page *get_unreplicated_page(struct address_space *mapping,
30 unsigned long offset, struct page *page);
31extern void get_unreplicated_pages(struct address_space *mapping,
32 struct page **pages, int nr);
33extern struct page *find_get_page_readonly(struct address_space *mapping,
34 unsigned long offset);
35extern int is_pcache_desc(void *ptr);
36extern struct pcache_desc *ptr_to_pcache_desc(void *ptr);
37extern void *pcache_desc_to_ptr(struct pcache_desc *pcd);
38extern void unreplicate_pcache(struct address_space *mapping, unsigned long offset);
39
40struct page *get_unreplicated_page_fault(struct page *page);
41
42/* End Pagecache replication */
43
16 44
17void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *start_vma, 45void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *start_vma,
18 unsigned long floor, unsigned long ceiling); 46 unsigned long floor, unsigned long ceiling);