struct sysinfo i;
int len, committed;
struct page_state ps;
- int cpu;
unsigned long inactive;
unsigned long active;
- unsigned long flushes = 0;
- unsigned long non_flushes = 0;
-
- for (cpu = 0; cpu < NR_CPUS; cpu++) {
- flushes += mmu_gathers[cpu].flushes;
- non_flushes += mmu_gathers[cpu].avoided_flushes;
- }
get_page_state(&ps);
get_zone_counts(&active, &inactive);
"Mapped: %8lu kB\n"
"Committed_AS: %8u kB\n"
"PageTables: %8lu kB\n"
- "ReverseMaps: %8lu\n"
- "TLB flushes: %8lu\n"
- "non flushes: %8lu\n",
+ "ReverseMaps: %8lu\n",
K(i.totalram),
K(i.freeram),
K(i.sharedram),
K(ps.nr_mapped),
K(committed),
K(ps.nr_page_table_pages),
- ps.nr_reverse_maps,
- flushes,
- non_flushes
+ ps.nr_reverse_maps
);
#ifdef CONFIG_HUGETLB_PAGE
* and page free order so much..
*/
#ifdef CONFIG_SMP
- #define FREE_PTE_NR 507
+ #define FREE_PTE_NR 506
#define tlb_fast_mode(tlb) ((tlb)->nr == ~0U)
#else
#define FREE_PTE_NR 1
unsigned int fullmm; /* non-zero means full mm flush */
unsigned long freed;
struct page * pages[FREE_PTE_NR];
- unsigned long flushes;/* stats: count avoided flushes */
- unsigned long avoided_flushes;
} mmu_gather_t;
/* Users of the generic TLB shootdown code must declare this storage space. */
static inline void tlb_flush_mmu(mmu_gather_t *tlb, unsigned long start, unsigned long end)
{
- unsigned long nr;
-
- if (!tlb->need_flush) {
- tlb->avoided_flushes++;
+ if (!tlb->need_flush)
return;
- }
tlb->need_flush = 0;
- tlb->flushes++;
-
tlb_flush(tlb);
- nr = tlb->nr;
if (!tlb_fast_mode(tlb)) {
free_pages_and_swap_cache(tlb->pages, tlb->nr);
tlb->nr = 0;