Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
tlb.h File Reference
#include <linux/pagemap.h>
#include <linux/swap.h>
#include <asm/percpu.h>
#include <asm/pgalloc.h>
#include <asm/tlbflush.h>

Go to the source code of this file.

Data Structures

struct  mmu_gather
 

Macros

#define tlb_start_vma(tlb, vma)   do { } while (0)
 
#define tlb_end_vma(tlb, vma)   do { } while (0)
 
#define tlb_flush(tlb)   flush_tlb_mm((tlb)->mm)
 
#define tlb_remove_tlb_entry(tlb, ptep, address)
 
#define pte_free_tlb(tlb, ptep, addr)   __pte_free_tlb(tlb, ptep, addr)
 
#define pud_free_tlb(tlb, pudp, addr)   __pud_free_tlb(tlb, pudp, addr)
 
#define pmd_free_tlb(tlb, pmdp, addr)   __pmd_free_tlb(tlb, pmdp, addr)
 
#define tlb_migrate_finish(mm)   do {} while (0)
 

Functions

void flush_tlb_mm_range (struct mm_struct *mm, unsigned long start, unsigned long end)
 

Macro Definition Documentation

#define pmd_free_tlb (   tlb,
  pmdp,
  addr 
)    __pmd_free_tlb(tlb, pmdp, addr)

Definition at line 116 of file tlb.h.

#define pte_free_tlb (   tlb,
  ptep,
  addr 
)    __pte_free_tlb(tlb, ptep, addr)

Definition at line 112 of file tlb.h.

#define pud_free_tlb (   tlb,
  pudp,
  addr 
)    __pud_free_tlb(tlb, pudp, addr)

Definition at line 114 of file tlb.h.

#define tlb_end_vma (   tlb,
  vma 
)    do { } while (0)

Definition at line 11 of file tlb.h.

#define tlb_flush (   tlb)    flush_tlb_mm((tlb)->mm)

Definition at line 12 of file tlb.h.

#define tlb_migrate_finish (   mm)    do {} while (0)

Definition at line 118 of file tlb.h.

#define tlb_remove_tlb_entry (   tlb,
  ptep,
  address 
)
Value:
do { \
tlb->need_flush = 1; \
__tlb_remove_tlb_entry(tlb, ptep, address); \
} while (0)

tlb_remove_tlb_entry - remember a pte unmapping for later tlb invalidation.

Record the fact that pte's were really umapped in ->need_flush, so we can later optimise away the tlb invalidate. This helps when userspace is unmapping already-unmapped pages, which happens quite a lot.

Definition at line 106 of file tlb.h.

#define tlb_start_vma (   tlb,
  vma 
)    do { } while (0)

Definition at line 10 of file tlb.h.

Function Documentation

void flush_tlb_mm_range ( struct mm_struct mm,
unsigned long  start,
unsigned long  end 
)

Definition at line 505 of file tlb.c.