Peter Zijlstra
1e9fdf21a4
mmu_gather: Remove per arch tlb_{start,end}_vma()
...
Scattered across the archs are 3 basic forms of tlb_{start,end}_vma().
Provide two new MMU_GATHER_knobs to enumerate them and remove the per
arch tlb_{start,end}_vma() implementations.
- MMU_GATHER_NO_FLUSH_CACHE indicates the arch has flush_cache_range()
but does *NOT* want to call it for each VMA.
- MMU_GATHER_MERGE_VMAS indicates the arch wants to merge the
invalidate across multiple VMAs if possible.
With these it is possible to capture the three forms:
1) empty stubs;
select MMU_GATHER_NO_FLUSH_CACHE and MMU_GATHER_MERGE_VMAS
2) start: flush_cache_range(), end: empty;
select MMU_GATHER_MERGE_VMAS
3) start: flush_cache_range(), end: flush_tlb_range();
default
Obviously, if the architecture does not have flush_cache_range() then
it also doesn't need to select MMU_GATHER_NO_FLUSH_CACHE.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org >
Acked-by: Will Deacon <will@kernel.org >
Cc: David Miller <davem@davemloft.net >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2022-07-21 10:50:13 -07:00
..
2022-05-28 11:27:17 -07:00
2022-05-08 22:15:40 +10:00
2022-02-12 22:47:44 +11:00
2022-01-29 22:24:25 +01:00
2022-02-12 22:47:43 +11:00
2021-10-09 00:15:59 +11:00
2022-03-08 22:06:25 +11:00
2021-11-30 11:45:57 +11:00
2022-03-08 22:33:03 +11:00
2022-06-29 20:43:04 +10:00
2021-12-23 22:33:10 +11:00
2022-05-19 23:46:10 +02:00
2022-05-08 22:15:40 +10:00
2022-05-22 15:58:26 +10:00
2022-04-26 13:35:54 -07:00
2021-12-23 22:33:12 +11:00
2021-12-23 22:33:15 +11:00
2022-05-22 15:59:53 +10:00
2021-11-29 22:48:32 +11:00
2022-03-09 17:50:50 -08:00
2022-05-06 00:00:21 +10:00
2022-05-04 21:44:02 +10:00
2022-05-19 23:11:26 +10:00
2022-02-03 21:35:56 +11:00
2021-12-23 22:36:55 +11:00
2021-08-15 13:49:24 +10:00
2022-04-26 22:36:57 +10:00
2022-03-08 00:05:00 +11:00
2022-01-24 17:29:05 +11:00
2022-01-04 16:00:59 +11:00
2022-05-22 15:58:29 +10:00
2021-12-23 22:35:12 +11:00
2022-05-28 11:27:17 -07:00
2022-03-08 22:06:25 +11:00
2021-12-09 22:41:21 +11:00
2022-01-16 20:50:20 +11:00
2021-12-23 22:33:12 +11:00
2022-05-22 15:58:26 +10:00
2022-05-22 15:58:29 +10:00
2022-04-23 23:44:41 +10:00
2022-05-19 00:44:01 +10:00
2021-12-23 22:33:12 +11:00
2021-12-09 22:41:19 +11:00
2022-05-22 15:58:29 +10:00
2022-03-05 20:42:21 +11:00
2022-03-08 22:06:25 +11:00
2021-09-30 21:24:06 -04:00
2022-05-04 19:37:46 +10:00
2021-11-24 21:09:02 +11:00
2022-04-03 22:12:52 +10:00
2022-05-13 21:33:34 +10:00
2021-11-24 21:08:59 +11:00
2021-12-23 22:33:10 +11:00
2022-05-13 21:33:34 +10:00
2022-05-19 00:44:28 +10:00
2022-05-19 23:11:29 +10:00
2022-05-24 08:46:37 +02:00
2022-03-08 00:05:00 +11:00
2022-03-08 00:05:00 +11:00
2021-10-04 11:47:24 +02:00
2021-08-10 23:14:55 +10:00
2022-04-28 23:16:13 -07:00
2022-05-19 00:44:01 +10:00
2021-12-09 22:40:24 +11:00
2022-05-22 15:58:26 +10:00
2021-12-23 22:33:12 +11:00
2022-03-07 10:26:20 +11:00
2021-11-25 11:25:30 +11:00
2021-12-23 22:33:15 +11:00
2022-05-27 22:20:09 +10:00
2022-05-22 15:58:28 +10:00
2021-10-09 00:15:59 +11:00
2022-05-06 00:00:20 +10:00
2022-05-06 00:00:20 +10:00
2021-12-23 22:33:10 +11:00
2021-12-23 22:33:11 +11:00
2021-07-01 11:06:03 -07:00
2021-10-22 15:22:06 +11:00
2021-07-02 12:54:34 -07:00
2022-02-07 21:02:20 +11:00
2021-08-25 16:37:18 +10:00
2022-05-08 22:15:40 +10:00
2022-05-19 23:11:29 +10:00
2022-05-22 15:58:27 +10:00
2021-10-12 17:50:12 -05:00
2022-05-06 00:00:20 +10:00
2022-05-05 22:11:58 +10:00
2021-08-13 22:04:27 +10:00
2022-05-19 23:11:29 +10:00
2022-05-13 21:33:33 +10:00
2022-02-12 22:47:44 +11:00
2022-02-16 23:25:11 +11:00
2021-10-07 19:52:58 +11:00
2022-02-12 22:47:42 +11:00
2022-03-28 21:11:24 +11:00
2022-05-19 23:11:26 +10:00
2021-12-07 15:14:12 +01:00
2021-10-30 16:37:28 +02:00
2022-05-04 19:37:46 +10:00
2021-12-23 22:33:14 +11:00
2021-12-07 15:14:12 +01:00
2022-03-08 22:15:32 +11:00
2021-12-09 22:41:21 +11:00
2022-04-05 09:59:38 +02:00
2022-05-28 11:27:17 -07:00
2022-04-18 07:21:12 +02:00
2022-05-04 19:37:46 +10:00
2022-01-15 12:21:26 +11:00
2022-03-08 22:06:25 +11:00
2022-05-05 22:11:57 +10:00
2021-08-27 00:56:54 +10:00
2022-06-02 22:56:47 +10:00
2022-05-04 19:37:42 +10:00
2022-05-13 23:59:23 +02:00
2022-07-21 10:50:13 -07:00
2022-05-22 15:58:30 +10:00
2022-05-19 23:11:29 +10:00
2022-03-25 09:39:36 -07:00
2021-12-23 22:33:14 +11:00
2022-04-26 13:35:45 -07:00
2021-12-09 22:41:21 +11:00
2022-01-30 21:17:00 -05:00
2022-05-22 15:58:27 +10:00
2021-12-23 22:33:12 +11:00
2021-08-10 23:15:02 +10:00
2021-08-10 23:15:02 +10:00
2021-12-23 22:33:12 +11:00
2022-02-11 20:39:39 +11:00