page_alloc.c File Reference

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 Documentation

#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 (  )     ((((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.


Function Documentation

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.


Variable Documentation

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.


Generated on Wed Apr 11 06:39:15 2012 for DDE - The L4 Device Driver Environment by  doxygen 1.5.6