summaryrefslogtreecommitdiffstats
path: root/arch/um/include/asm/tlb.h
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2017-08-28 21:00:44 +0200
committerJens Axboe <axboe@kernel.dk>2017-08-28 21:00:44 +0200
commitcd996fb47c360320cf25ac9503c16de085ea9cfc (patch)
tree38a4730b2c031afe7daf632064f9687f1e09194e /arch/um/include/asm/tlb.h
parentblock: fix warning when I/O elevator is changed as request_queue is being rem... (diff)
parentLinux 4.13-rc7 (diff)
downloadlinux-cd996fb47c360320cf25ac9503c16de085ea9cfc.tar.xz
linux-cd996fb47c360320cf25ac9503c16de085ea9cfc.zip
Merge tag 'v4.13-rc7' into for-4.14/block-postmerge
Linux 4.13-rc7 Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'arch/um/include/asm/tlb.h')
-rw-r--r--arch/um/include/asm/tlb.h13
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 */