Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 155762
b: refs/heads/master
c: 36a516d
h: refs/heads/master
v: v3
  • Loading branch information
Erik Andrén authored and Mauro Carvalho Chehab committed Jul 24, 2009
1 parent d4435c5 commit 65b5db3
Show file tree
Hide file tree
Showing 62 changed files with 244 additions and 268 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 760dcc6e1839e7ca82507698fb077d5d78b24964
refs/heads/master: 36a516d953e02523e78ce27fbff91a968a9e5751
4 changes: 2 additions & 2 deletions trunk/arch/alpha/include/asm/tlb.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

#include <asm-generic/tlb.h>

#define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte)
#define __pmd_free_tlb(tlb, pmd, address) pmd_free((tlb)->mm, pmd)
#define __pte_free_tlb(tlb, pte) pte_free((tlb)->mm, pte)
#define __pmd_free_tlb(tlb, pmd) pmd_free((tlb)->mm, pmd)

#endif
4 changes: 2 additions & 2 deletions trunk/arch/arm/include/asm/tlb.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma)
}

#define tlb_remove_page(tlb,page) free_page_and_swap_cache(page)
#define pte_free_tlb(tlb, ptep, addr) pte_free((tlb)->mm, ptep)
#define pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, pmdp)
#define pte_free_tlb(tlb, ptep) pte_free((tlb)->mm, ptep)
#define pmd_free_tlb(tlb, pmdp) pmd_free((tlb)->mm, pmdp)

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

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/avr32/include/asm/pgalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t pte)
quicklist_free_page(QUICK_PT, NULL, pte);
}

#define __pte_free_tlb(tlb,pte,addr) \
#define __pte_free_tlb(tlb,pte) \
do { \
pgtable_page_dtor(pte); \
tlb_remove_page((tlb), pte); \
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/cris/include/asm/pgalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t pte)
__free_page(pte);
}

#define __pte_free_tlb(tlb,pte,address) \
#define __pte_free_tlb(tlb,pte) \
do { \
pgtable_page_dtor(pte); \
tlb_remove_page((tlb), pte); \
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/frv/include/asm/pgalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t pte)
__free_page(pte);
}

#define __pte_free_tlb(tlb,pte,address) \
#define __pte_free_tlb(tlb,pte) \
do { \
pgtable_page_dtor(pte); \
tlb_remove_page((tlb),(pte)); \
Expand All @@ -62,7 +62,7 @@ do { \
*/
#define pmd_alloc_one(mm, addr) ({ BUG(); ((pmd_t *) 2); })
#define pmd_free(mm, x) do { } while (0)
#define __pmd_free_tlb(tlb,x,a) do { } while (0)
#define __pmd_free_tlb(tlb,x) do { } while (0)

#endif /* CONFIG_MMU */

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/frv/include/asm/pgtable.h
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ static inline pud_t *pud_offset(pgd_t *pgd, unsigned long address)
*/
#define pud_alloc_one(mm, address) NULL
#define pud_free(mm, x) do { } while (0)
#define __pud_free_tlb(tlb, x, address) do { } while (0)
#define __pud_free_tlb(tlb, x) do { } while (0)

/*
* The "pud_xxx()" functions here are trivial for a folded two-level
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/ia64/include/asm/pgalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ static inline void pud_free(struct mm_struct *mm, pud_t *pud)
{
quicklist_free(0, NULL, pud);
}
#define __pud_free_tlb(tlb, pud, address) pud_free((tlb)->mm, pud)
#define __pud_free_tlb(tlb, pud) pud_free((tlb)->mm, pud)
#endif /* CONFIG_PGTABLE_4 */

static inline void
Expand All @@ -67,7 +67,7 @@ static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd)
quicklist_free(0, NULL, pmd);
}

#define __pmd_free_tlb(tlb, pmd, address) pmd_free((tlb)->mm, pmd)
#define __pmd_free_tlb(tlb, pmd) pmd_free((tlb)->mm, pmd)

static inline void
pmd_populate(struct mm_struct *mm, pmd_t * pmd_entry, pgtable_t pte)
Expand Down Expand Up @@ -117,6 +117,6 @@ static inline void check_pgt_cache(void)
quicklist_trim(0, NULL, 25, 16);
}

#define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte)
#define __pte_free_tlb(tlb, pte) pte_free((tlb)->mm, pte)

#endif /* _ASM_IA64_PGALLOC_H */
12 changes: 6 additions & 6 deletions trunk/arch/ia64/include/asm/tlb.h
Original file line number Diff line number Diff line change
Expand Up @@ -236,22 +236,22 @@ do { \
__tlb_remove_tlb_entry(tlb, ptep, addr); \
} while (0)

#define pte_free_tlb(tlb, ptep, address) \
#define pte_free_tlb(tlb, ptep) \
do { \
tlb->need_flush = 1; \
__pte_free_tlb(tlb, ptep, address); \
__pte_free_tlb(tlb, ptep); \
} while (0)

#define pmd_free_tlb(tlb, ptep, address) \
#define pmd_free_tlb(tlb, ptep) \
do { \
tlb->need_flush = 1; \
__pmd_free_tlb(tlb, ptep, address); \
__pmd_free_tlb(tlb, ptep); \
} while (0)

#define pud_free_tlb(tlb, pudp, address) \
#define pud_free_tlb(tlb, pudp) \
do { \
tlb->need_flush = 1; \
__pud_free_tlb(tlb, pudp, address); \
__pud_free_tlb(tlb, pudp); \
} while (0)

#endif /* _ASM_IA64_TLB_H */
4 changes: 2 additions & 2 deletions trunk/arch/m32r/include/asm/pgalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t pte)
__free_page(pte);
}

#define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, (pte))
#define __pte_free_tlb(tlb, pte) pte_free((tlb)->mm, (pte))

/*
* allocating and freeing a pmd is trivial: the 1-entry pmd is
Expand All @@ -68,7 +68,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t pte)

#define pmd_alloc_one(mm, addr) ({ BUG(); ((pmd_t *)2); })
#define pmd_free(mm, x) do { } while (0)
#define __pmd_free_tlb(tlb, x, addr) do { } while (0)
#define __pmd_free_tlb(tlb, x) do { } while (0)
#define pgd_populate(mm, pmd, pte) BUG()

#define check_pgt_cache() do { } while (0)
Expand Down
6 changes: 2 additions & 4 deletions trunk/arch/m68k/include/asm/motorola_pgalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t page)
__free_page(page);
}

static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t page,
unsigned long address)
static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t page)
{
pgtable_page_dtor(page);
cache_page(kmap(page));
Expand All @@ -74,8 +73,7 @@ static inline int pmd_free(struct mm_struct *mm, pmd_t *pmd)
return free_pointer_table(pmd);
}

static inline int __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd,
unsigned long address)
static inline int __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd)
{
return free_pointer_table(pmd);
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/m68k/include/asm/sun3_pgalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t page)
__free_page(page);
}

#define __pte_free_tlb(tlb,pte,addr) \
#define __pte_free_tlb(tlb,pte) \
do { \
pgtable_page_dtor(pte); \
tlb_remove_page((tlb), pte); \
Expand Down Expand Up @@ -80,7 +80,7 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t page
* inside the pgd, so has no extra memory associated with it.
*/
#define pmd_free(mm, x) do { } while (0)
#define __pmd_free_tlb(tlb, x, addr) do { } while (0)
#define __pmd_free_tlb(tlb, x) do { } while (0)

static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
{
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/microblaze/include/asm/pgalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ extern inline void pte_free(struct mm_struct *mm, struct page *ptepage)
__free_page(ptepage);
}

#define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, (pte))
#define __pte_free_tlb(tlb, pte) pte_free((tlb)->mm, (pte))

#define pmd_populate(mm, pmd, pte) (pmd_val(*(pmd)) = page_address(pte))

Expand All @@ -193,7 +193,7 @@ extern inline void pte_free(struct mm_struct *mm, struct page *ptepage)
*/
#define pmd_alloc_one(mm, address) ({ BUG(); ((pmd_t *)2); })
/*#define pmd_free(mm, x) do { } while (0)*/
#define __pmd_free_tlb(tlb, x, addr) do { } while (0)
#define __pmd_free_tlb(tlb, x) do { } while (0)
#define pgd_populate(mm, pmd, pte) BUG()

extern int do_check_pgt_cache(int, int);
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/mips/include/asm/pgalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t pte)
__free_pages(pte, PTE_ORDER);
}

#define __pte_free_tlb(tlb,pte,address) \
#define __pte_free_tlb(tlb,pte) \
do { \
pgtable_page_dtor(pte); \
tlb_remove_page((tlb), pte); \
Expand All @@ -111,7 +111,7 @@ do { \
* inside the pgd, so has no extra memory associated with it.
*/
#define pmd_free(mm, x) do { } while (0)
#define __pmd_free_tlb(tlb, x, addr) do { } while (0)
#define __pmd_free_tlb(tlb, x) do { } while (0)

#endif

Expand All @@ -132,7 +132,7 @@ static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd)
free_pages((unsigned long)pmd, PMD_ORDER);
}

#define __pmd_free_tlb(tlb, x, addr) pmd_free((tlb)->mm, x)
#define __pmd_free_tlb(tlb, x) pmd_free((tlb)->mm, x)

#endif

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/mn10300/include/asm/pgalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,6 @@ static inline void pte_free(struct mm_struct *mm, struct page *pte)
}


#define __pte_free_tlb(tlb, pte, addr) tlb_remove_page((tlb), (pte))
#define __pte_free_tlb(tlb, pte) tlb_remove_page((tlb), (pte))

#endif /* _ASM_PGALLOC_H */
4 changes: 2 additions & 2 deletions trunk/arch/parisc/include/asm/tlb.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ do { if (!(tlb)->fullmm) \

#include <asm-generic/tlb.h>

#define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd)
#define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, pte)
#define __pmd_free_tlb(tlb, pmd) pmd_free((tlb)->mm, pmd)
#define __pte_free_tlb(tlb, pte) pte_free((tlb)->mm, pte)

#endif
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/include/asm/pgalloc-32.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ extern void pgd_free(struct mm_struct *mm, pgd_t *pgd);
*/
/* #define pmd_alloc_one(mm,address) ({ BUG(); ((pmd_t *)2); }) */
#define pmd_free(mm, x) do { } while (0)
#define __pmd_free_tlb(tlb,x,a) do { } while (0)
#define __pmd_free_tlb(tlb,x) do { } while (0)
/* #define pgd_populate(mm, pmd, pte) BUG() */

#ifndef CONFIG_BOOKE
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/powerpc/include/asm/pgalloc-64.h
Original file line number Diff line number Diff line change
Expand Up @@ -118,11 +118,11 @@ static inline void pgtable_free(pgtable_free_t pgf)
kmem_cache_free(pgtable_cache[cachenum], p);
}

#define __pmd_free_tlb(tlb, pmd,addr) \
#define __pmd_free_tlb(tlb, pmd) \
pgtable_free_tlb(tlb, pgtable_free_cache(pmd, \
PMD_CACHE_NUM, PMD_TABLE_SIZE-1))
#ifndef CONFIG_PPC_64K_PAGES
#define __pud_free_tlb(tlb, pud, addr) \
#define __pud_free_tlb(tlb, pud) \
pgtable_free_tlb(tlb, pgtable_free_cache(pud, \
PUD_CACHE_NUM, PUD_TABLE_SIZE-1))
#endif /* CONFIG_PPC_64K_PAGES */
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/powerpc/include/asm/pgalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ static inline pgtable_free_t pgtable_free_cache(void *p, int cachenum,
extern void pgtable_free_tlb(struct mmu_gather *tlb, pgtable_free_t pgf);

#ifdef CONFIG_SMP
#define __pte_free_tlb(tlb,ptepage,address) \
#define __pte_free_tlb(tlb,ptepage) \
do { \
pgtable_page_dtor(ptepage); \
pgtable_free_tlb(tlb, pgtable_free_cache(page_address(ptepage), \
PTE_NONCACHE_NUM, PTE_TABLE_SIZE-1)); \
PTE_NONCACHE_NUM, PTE_TABLE_SIZE-1)); \
} while (0)
#else
#define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, (pte))
#define __pte_free_tlb(tlb, pte) pte_free((tlb)->mm, (pte))
#endif


Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/powerpc/mm/hugetlbpage.c
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud,

pmd = pmd_offset(pud, start);
pud_clear(pud);
pmd_free_tlb(tlb, pmd, start);
pmd_free_tlb(tlb, pmd);
}

static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,
Expand Down Expand Up @@ -348,7 +348,7 @@ static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,

pud = pud_offset(pgd, start);
pgd_clear(pgd);
pud_free_tlb(tlb, pud, start);
pud_free_tlb(tlb, pud);
}

/*
Expand Down
9 changes: 3 additions & 6 deletions trunk/arch/s390/include/asm/tlb.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,7 @@ static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
* pte_free_tlb frees a pte table and clears the CRSTE for the
* page table from the tlb.
*/
static inline void pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,
unsigned long address)
static inline void pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte)
{
if (!tlb->fullmm) {
tlb->array[tlb->nr_ptes++] = pte;
Expand All @@ -114,8 +113,7 @@ static inline void pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,
* as the pgd. pmd_free_tlb checks the asce_limit against 2GB
* to avoid the double free of the pmd in this case.
*/
static inline void pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd,
unsigned long address)
static inline void pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd)
{
#ifdef __s390x__
if (tlb->mm->context.asce_limit <= (1UL << 31))
Expand All @@ -136,8 +134,7 @@ static inline void pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd,
* as the pgd. pud_free_tlb checks the asce_limit against 4TB
* to avoid the double free of the pud in this case.
*/
static inline void pud_free_tlb(struct mmu_gather *tlb, pud_t *pud,
unsigned long address)
static inline void pud_free_tlb(struct mmu_gather *tlb, pud_t *pud)
{
#ifdef __s390x__
if (tlb->mm->context.asce_limit <= (1UL << 42))
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/s390/kernel/early.c
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ static noinline __init void detect_machine_type(void)
machine_flags |= MACHINE_FLAG_VM;
}

static __init void early_pgm_check_handler(void)
static void early_pgm_check_handler(void)
{
unsigned long addr;
const struct exception_table_entry *fixup;
Expand All @@ -222,7 +222,7 @@ static __init void early_pgm_check_handler(void)
S390_lowcore.program_old_psw.addr = fixup->fixup | PSW_ADDR_AMODE;
}

static noinline __init void setup_lowcore_early(void)
void setup_lowcore_early(void)
{
psw_t psw;

Expand Down
7 changes: 3 additions & 4 deletions trunk/arch/s390/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -687,14 +687,13 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
#ifndef CONFIG_64BIT
if (MACHINE_HAS_IEEE)
lowcore->extended_save_area_addr = (u32) save_area;
#else
if (vdso_alloc_per_cpu(smp_processor_id(), lowcore))
BUG();
#endif
set_prefix((u32)(unsigned long) lowcore);
local_mcck_enable();
local_irq_enable();
#ifdef CONFIG_64BIT
if (vdso_alloc_per_cpu(smp_processor_id(), &S390_lowcore))
BUG();
#endif
for_each_possible_cpu(cpu)
if (cpu != smp_processor_id())
smp_create_idle(cpu);
Expand Down
11 changes: 2 additions & 9 deletions trunk/arch/s390/kernel/vdso64/clock_gettime.S
Original file line number Diff line number Diff line change
Expand Up @@ -88,17 +88,10 @@ __kernel_clock_gettime:
llilh %r4,0x0100
sar %a4,%r4
lghi %r4,0
epsw %r5,0
sacf 512 /* Magic ectg instruction */
.insn ssf,0xc80100000000,__VDSO_ECTG_BASE(4),__VDSO_ECTG_USER(4),4
tml %r5,0x4000
jo 11f
tml %r5,0x8000
jno 10f
sacf 256
j 11f
10: sacf 0
11: sar %a4,%r2
sacf 0
sar %a4,%r2
algr %r1,%r0 /* r1 = cputime as TOD value */
mghi %r1,1000 /* convert to nanoseconds */
srlg %r1,%r1,12 /* r1 = cputime in nanosec */
Expand Down
Loading

0 comments on commit 65b5db3

Please sign in to comment.