diff options
author | Ingo Molnar <mingo@kernel.org> | 2017-08-17 09:41:41 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-08-17 09:41:41 +0200 |
commit | 927d2c21f2e82b93c791799c8da932a9bdffb436 (patch) | |
tree | aec52fd2d3903751d696e809628d155c825ac730 /arch/um/include/asm/tlb.h | |
parent | cf31b7dd51b542f9a9b2d0de416b5524dfdb1cf2 (diff) | |
parent | ac9a40905a610fb02086a37b11ff4bf046825a88 (diff) | |
download | linux-927d2c21f2e82b93c791799c8da932a9bdffb436.tar.bz2 |
Merge branch 'linus' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/um/include/asm/tlb.h')
-rw-r--r-- | arch/um/include/asm/tlb.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/um/include/asm/tlb.h b/arch/um/include/asm/tlb.h index 600a2e9bfee2..344d95619d03 100644 --- a/arch/um/include/asm/tlb.h +++ b/arch/um/include/asm/tlb.h @@ -45,7 +45,8 @@ static inline void init_tlb_gather(struct mmu_gather *tlb) } static inline void -tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long start, unsigned long end) +arch_tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, + unsigned long start, unsigned long end) { tlb->mm = mm; tlb->start = start; @@ -80,13 +81,19 @@ tlb_flush_mmu(struct mmu_gather *tlb) tlb_flush_mmu_free(tlb); } -/* tlb_finish_mmu +/* arch_tlb_finish_mmu * Called at the end of the shootdown operation to free up any resources * that were required. */ static inline void -tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end) +arch_tlb_finish_mmu(struct mmu_gather *tlb, + unsigned long start, unsigned long end, bool force) { + if (force) { + tlb->start = start; + tlb->end = end; + tlb->need_flush = 1; + } tlb_flush_mmu(tlb); /* keep the page table cache within bounds */ |