Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
pgalloc.h File Reference
#include <linux/threads.h>
#include <linux/gfp.h>
#include <linux/mm.h>

Go to the source code of this file.

Macros

#define pud_alloc_one(mm, address)   ({ BUG(); ((pud_t *)2); })
 
#define pud_free(mm, x)   do { } while (0)
 
#define pmd_alloc_one(mm, address)   ({ BUG(); ((pmd_t *)2); })
 
#define pmd_free(mm, x)   do { } while (0)
 
#define pgd_populate(mm, pgd, pud)   BUG()
 
#define pud_populate(mm, pud, pmd)   BUG()
 
#define pgd_free(mm, pgd)   crst_table_free(mm, (unsigned long *) pgd)
 
#define pmd_populate_kernel(mm, pmd, pte)   pmd_populate(mm, pmd, pte)
 
#define pmd_pgtable(pmd)   (pgtable_t)(pmd_val(pmd) & -sizeof(pte_t)*PTRS_PER_PTE)
 
#define pte_alloc_one_kernel(mm, vmaddr)   ((pte_t *) page_table_alloc(mm, vmaddr))
 
#define pte_alloc_one(mm, vmaddr)   ((pte_t *) page_table_alloc(mm, vmaddr))
 
#define pte_free_kernel(mm, pte)   page_table_free(mm, (unsigned long *) pte)
 
#define pte_free(mm, pte)   page_table_free(mm, (unsigned long *) pte)
 

Functions

unsigned longcrst_table_alloc (struct mm_struct *)
 
void crst_table_free (struct mm_struct *, unsigned long *)
 
unsigned longpage_table_alloc (struct mm_struct *, unsigned long)
 
void page_table_free (struct mm_struct *, unsigned long *)
 
void page_table_free_rcu (struct mmu_gather *, unsigned long *)
 
void rcu_table_freelist_finish (void)
 

Macro Definition Documentation

#define pgd_free (   mm,
  pgd 
)    crst_table_free(mm, (unsigned long *) pgd)

Definition at line 116 of file pgalloc.h.

#define pgd_populate (   mm,
  pgd,
  pud 
)    BUG()

Definition at line 62 of file pgalloc.h.

#define pmd_alloc_one (   mm,
  address 
)    ({ BUG(); ((pmd_t *)2); })

Definition at line 59 of file pgalloc.h.

#define pmd_free (   mm,
  x 
)    do { } while (0)

Definition at line 60 of file pgalloc.h.

#define pmd_pgtable (   pmd)    (pgtable_t)(pmd_val(pmd) & -sizeof(pte_t)*PTRS_PER_PTE)

Definition at line 126 of file pgalloc.h.

#define pmd_populate_kernel (   mm,
  pmd,
  pte 
)    pmd_populate(mm, pmd, pte)

Definition at line 124 of file pgalloc.h.

#define pte_alloc_one (   mm,
  vmaddr 
)    ((pte_t *) page_table_alloc(mm, vmaddr))

Definition at line 133 of file pgalloc.h.

#define pte_alloc_one_kernel (   mm,
  vmaddr 
)    ((pte_t *) page_table_alloc(mm, vmaddr))

Definition at line 132 of file pgalloc.h.

#define pte_free (   mm,
  pte 
)    page_table_free(mm, (unsigned long *) pte)

Definition at line 136 of file pgalloc.h.

#define pte_free_kernel (   mm,
  pte 
)    page_table_free(mm, (unsigned long *) pte)

Definition at line 135 of file pgalloc.h.

#define pud_alloc_one (   mm,
  address 
)    ({ BUG(); ((pud_t *)2); })

Definition at line 56 of file pgalloc.h.

#define pud_free (   mm,
  x 
)    do { } while (0)

Definition at line 57 of file pgalloc.h.

#define pud_populate (   mm,
  pud,
  pmd 
)    BUG()

Definition at line 63 of file pgalloc.h.

Function Documentation

unsigned long* crst_table_alloc ( struct mm_struct )

Definition at line 36 of file pgtable.c.

void crst_table_free ( struct mm_struct ,
unsigned long  
)

Definition at line 45 of file pgtable.c.

unsigned long* page_table_alloc ( struct mm_struct ,
unsigned  long 
)

Definition at line 610 of file pgtable.c.

void page_table_free ( struct mm_struct ,
unsigned long  
)

Definition at line 650 of file pgtable.c.

void page_table_free_rcu ( struct mmu_gather ,
unsigned long  
)

Definition at line 691 of file pgtable.c.

void rcu_table_freelist_finish ( void  )