Skip to content

Commit 02e790e

Browse files
Alexander GordeevVasily Gorbik
authored andcommitted
s390/mm: make pte_free_tlb() similar to pXd_free_tlb()
Make pte_free_tlb() look similar to pXd_free_tlb() family functions. Reviewed-by: Heiko Carstens <[email protected]> Reviewed-by: Gerald Schaefer <[email protected]> Signed-off-by: Alexander Gordeev <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
1 parent 0031f1c commit 02e790e

File tree

3 files changed

+3
-13
lines changed

3 files changed

+3
-13
lines changed

arch/s390/include/asm/pgalloc.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ void crst_table_free(struct mm_struct *, unsigned long *);
2525
unsigned long *page_table_alloc(struct mm_struct *);
2626
struct page *page_table_alloc_pgste(struct mm_struct *mm);
2727
void page_table_free(struct mm_struct *, unsigned long *);
28-
void page_table_free_rcu(struct mmu_gather *, unsigned long *, unsigned long);
2928
void page_table_free_pgste(struct page *page);
3029
extern int page_table_allocate_pgste;
3130

arch/s390/include/asm/tlb.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ static inline void pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,
6969
tlb->mm->context.flush_mm = 1;
7070
tlb->freed_tables = 1;
7171
tlb->cleared_pmds = 1;
72-
page_table_free_rcu(tlb, (unsigned long *) pte, address);
72+
if (mm_alloc_pgste(tlb->mm))
73+
gmap_unlink(tlb->mm, (unsigned long *)pte, address);
74+
tlb_remove_ptdesc(tlb, pte);
7375
}
7476

7577
/*

arch/s390/mm/pgalloc.c

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -191,17 +191,6 @@ void page_table_free(struct mm_struct *mm, unsigned long *table)
191191
pagetable_pte_dtor_free(ptdesc);
192192
}
193193

194-
void page_table_free_rcu(struct mmu_gather *tlb, unsigned long *table,
195-
unsigned long vmaddr)
196-
{
197-
struct mm_struct *mm;
198-
199-
mm = tlb->mm;
200-
if (mm_alloc_pgste(mm))
201-
gmap_unlink(mm, table, vmaddr);
202-
tlb_remove_ptdesc(tlb, table);
203-
}
204-
205194
void __tlb_remove_table(void *table)
206195
{
207196
struct ptdesc *ptdesc = virt_to_ptdesc(table);

0 commit comments

Comments
 (0)