diff options
| author | Nick Piggin <nickpiggin@yahoo.com.au> | 2004-12-31 22:00:42 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@evo.osdl.org> | 2004-12-31 22:00:42 -0800 |
| commit | 62dc69da569e2e4892595e4dd197e6af3bb4d234 (patch) | |
| tree | ca086a4f0810dabfefa6ff706cd8c0adce41eb6b /include | |
| parent | d537e0070082af969b363492cb68afb21d72cb44 (diff) | |
[PATCH] replace clear_page_tables with clear_page_range
Rename clear_page_tables to clear_page_range. clear_page_range takes byte
ranges, and aggressively frees page table pages. Maybe useful to control
page table memory consumption on 4-level architectures (and even 3 level
ones).
Possible downsides are:
- flush_tlb_pgtables gets called more often (only a problem for sparc64
AFAIKS).
- the opportunistic "expand to fill PGDIR_SIZE hole" logic that ensures
something actually gets done under the old system is still in place.
This could sometimes make unmapping small regions more inefficient. There
are some other solutions to look at if this is the case though.
Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/mm.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index ad76b8d51800..6d631e3fd0e7 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -566,7 +566,7 @@ int unmap_vmas(struct mmu_gather **tlbp, struct mm_struct *mm, struct vm_area_struct *start_vma, unsigned long start_addr, unsigned long end_addr, unsigned long *nr_accounted, struct zap_details *); -void clear_page_tables(struct mmu_gather *tlb, unsigned long first, int nr); +void clear_page_range(struct mmu_gather *tlb, unsigned long addr, unsigned long end); int copy_page_range(struct mm_struct *dst, struct mm_struct *src, struct vm_area_struct *vma); int zeromap_page_range(struct vm_area_struct *vma, unsigned long from, |
