Go to the source code of this file.
Classes | |
| struct | page_cache_entry |
Defines | |
| #define | DEBUG_PAGE_ALLOC 0 |
| #define | DDE_PAGE_CACHE_SHIFT 10 |
| #define | DDE_PAGE_CACHE_SIZE (1 << DDE_PAGE_CACHE_SHIFT) |
| #define | DDE_PAGE_CACHE_MASK (DDE_PAGE_CACHE_SIZE - 1) |
| #define | VIRT_TO_PAGEHASH(a) ((((unsigned long)a) >> PAGE_SHIFT) & DDE_PAGE_CACHE_MASK) |
| Hash function to map virtual addresses to page cache buckets. | |
Functions | |
| void | dde_page_cache_add (struct page *p) |
| void | dde_page_cache_remove (struct page *p) |
| struct page * | dde_page_lookup (unsigned long va) |
| struct page * | __alloc_pages_internal (gfp_t gfp_mask, unsigned int order, struct zonelist *zonelist, nodemask_t *nm) |
| unsigned long | __get_free_pages (gfp_t gfp_mask, unsigned int order) |
| unsigned long | get_zeroed_page (gfp_t gfp_mask) |
| void | free_hot_page (struct page *page) |
| void | __free_pages (struct page *page, unsigned int order) |
| void | __pagevec_free (struct pagevec *pvec) |
| int | get_user_pages (struct task_struct *tsk, struct mm_struct *mm, unsigned long start, int len, int write, int force, struct page **pages, struct vm_area_struct **vmas) |
| void | free_pages (unsigned long addr, unsigned int order) |
| | |
| unsigned long | __pa (volatile void *addr) |
| void * | __va (unsigned long addr) |
| int | set_page_dirty_lock (struct page *page) |
| void *__init | alloc_large_system_hash (const char *tablename, unsigned long bucketsize, unsigned long numentries, int scale, int flags, unsigned int *_hash_shift, unsigned int *_hash_mask, unsigned long limit) |
| static void __init | dde_page_cache_init (void) |
| core_initcall (dde_page_cache_init) | |
Variables | |
| unsigned long | max_low_pfn |
| unsigned long | min_low_pfn |
| unsigned long | max_pfn |
| static struct hlist_head | dde_page_cache [DDE_PAGE_CACHE_SIZE] |
| #define DDE_PAGE_CACHE_MASK (DDE_PAGE_CACHE_SIZE - 1) |
Definition at line 58 of file page_alloc.c.
| #define DDE_PAGE_CACHE_SHIFT 10 |
Definition at line 56 of file page_alloc.c.
| #define DDE_PAGE_CACHE_SIZE (1 << DDE_PAGE_CACHE_SHIFT) |
Definition at line 57 of file page_alloc.c.
| #define DEBUG_PAGE_ALLOC 0 |
Definition at line 43 of file page_alloc.c.
| #define VIRT_TO_PAGEHASH | ( | a | ) | ((((unsigned long)a) >> PAGE_SHIFT) & DDE_PAGE_CACHE_MASK) |
Hash function to map virtual addresses to page cache buckets.
Definition at line 69 of file page_alloc.c.
| struct page* __alloc_pages_internal | ( | gfp_t | gfp_mask, | |
| unsigned int | order, | |||
| struct zonelist * | zonelist, | |||
| nodemask_t * | nm | |||
| ) | [read] |
Definition at line 129 of file page_alloc.c.
| void __free_pages | ( | struct page * | page, | |
| unsigned int | order | |||
| ) |
Definition at line 175 of file page_alloc.c.
| unsigned long __get_free_pages | ( | gfp_t | gfp_mask, | |
| unsigned int | order | |||
| ) |
Definition at line 144 of file page_alloc.c.
| unsigned long __pa | ( | volatile void * | addr | ) |
Definition at line 208 of file page_alloc.c.
| void __pagevec_free | ( | struct pagevec * | pvec | ) |
Definition at line 181 of file page_alloc.c.
| void* __va | ( | unsigned long | addr | ) |
Definition at line 213 of file page_alloc.c.
| void* __init alloc_large_system_hash | ( | const char * | tablename, | |
| unsigned long | bucketsize, | |||
| unsigned long | numentries, | |||
| int | scale, | |||
| int | flags, | |||
| unsigned int * | _hash_shift, | |||
| unsigned int * | _hash_mask, | |||
| unsigned long | limit | |||
| ) |
Definition at line 229 of file page_alloc.c.
| core_initcall | ( | dde_page_cache_init | ) |
| void dde_page_cache_add | ( | struct page * | p | ) |
Definition at line 72 of file page_alloc.c.
| static void __init dde_page_cache_init | ( | void | ) | [static] |
Definition at line 272 of file page_alloc.c.
| void dde_page_cache_remove | ( | struct page * | p | ) |
Definition at line 89 of file page_alloc.c.
| struct page* dde_page_lookup | ( | unsigned long | va | ) | [read] |
Definition at line 112 of file page_alloc.c.
| void free_hot_page | ( | struct page * | page | ) |
Definition at line 166 of file page_alloc.c.
| void free_pages | ( | unsigned long | addr, | |
| unsigned int | order | |||
| ) |
..
XXX order may be larger than allocation at 'addr' - it may comprise several allocation via __get_free_pages()!
Definition at line 200 of file page_alloc.c.
| int get_user_pages | ( | struct task_struct * | tsk, | |
| struct mm_struct * | mm, | |||
| unsigned long | start, | |||
| int | len, | |||
| int | write, | |||
| int | force, | |||
| struct page ** | pages, | |||
| struct vm_area_struct ** | vmas | |||
| ) |
Definition at line 186 of file page_alloc.c.
| unsigned long get_zeroed_page | ( | gfp_t | gfp_mask | ) |
Definition at line 156 of file page_alloc.c.
| int set_page_dirty_lock | ( | struct page * | page | ) |
Definition at line 219 of file page_alloc.c.
struct hlist_head dde_page_cache[DDE_PAGE_CACHE_SIZE] [static] |
Definition at line 66 of file page_alloc.c.
| unsigned long max_low_pfn |
Definition at line 35 of file page_alloc.c.
| unsigned long max_pfn |
Definition at line 37 of file page_alloc.c.
| unsigned long min_low_pfn |
Definition at line 36 of file page_alloc.c.
1.5.6