Commit f95b2c45 authored by Alexander Gordeev's avatar Alexander Gordeev Committed by Vasily Gorbik

s390/tlb: make cleared_pXs flags consistent with generic code

On s390 cleared_pXs flags in struct mmu_gather are set by
corresponding pXd_free_tlb functions. Such approach is
inconsistent with how the generic code interprets these
flags, e.g pte_free_tlb() frees a PTE table - or a PMD
level entity, and so on.

This update does not bring any functional change, since
s390 does not use the flags at the moment.

Fixes: 9de7d833 ("s390/tlb: Convert to generic mmu_gather")
Link: https://lore.kernel.org/lkml/fbb00ac0-9104-8d25-f225-7b3d1b17a01f@huawei.com/Reported-by: default avatarZhenyu Ye <yezhenyu2@huawei.com>
Suggested-by: default avatarGerald Schaefer <gerald.schaefer@linux.ibm.com>
Reviewed-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
parent 19c329f6
...@@ -66,7 +66,7 @@ static inline void pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, ...@@ -66,7 +66,7 @@ static inline void pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,
__tlb_adjust_range(tlb, address, PAGE_SIZE); __tlb_adjust_range(tlb, address, PAGE_SIZE);
tlb->mm->context.flush_mm = 1; tlb->mm->context.flush_mm = 1;
tlb->freed_tables = 1; tlb->freed_tables = 1;
tlb->cleared_ptes = 1; tlb->cleared_pmds = 1;
/* /*
* page_table_free_rcu takes care of the allocation bit masks * page_table_free_rcu takes care of the allocation bit masks
* of the 2K table fragments in the 4K page table page, * of the 2K table fragments in the 4K page table page,
...@@ -110,7 +110,6 @@ static inline void p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d, ...@@ -110,7 +110,6 @@ static inline void p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d,
__tlb_adjust_range(tlb, address, PAGE_SIZE); __tlb_adjust_range(tlb, address, PAGE_SIZE);
tlb->mm->context.flush_mm = 1; tlb->mm->context.flush_mm = 1;
tlb->freed_tables = 1; tlb->freed_tables = 1;
tlb->cleared_p4ds = 1;
tlb_remove_table(tlb, p4d); tlb_remove_table(tlb, p4d);
} }
...@@ -128,7 +127,7 @@ static inline void pud_free_tlb(struct mmu_gather *tlb, pud_t *pud, ...@@ -128,7 +127,7 @@ static inline void pud_free_tlb(struct mmu_gather *tlb, pud_t *pud,
return; return;
tlb->mm->context.flush_mm = 1; tlb->mm->context.flush_mm = 1;
tlb->freed_tables = 1; tlb->freed_tables = 1;
tlb->cleared_puds = 1; tlb->cleared_p4ds = 1;
tlb_remove_table(tlb, pud); tlb_remove_table(tlb, pud);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment