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-03-08 00:33:00 +01:00
2021-07-27 09:39:15 +02:00
2019-06-15 12:25:05 +02:00
2022-05-17 15:16:28 +02:00
2022-05-17 15:16:28 +02:00
2022-03-27 22:18:39 +02:00
2022-06-30 19:40:36 +02:00
2020-07-20 10:55:45 +02:00
2022-06-01 12:03:17 +02:00
2021-04-15 17:47:42 +02:00
2021-05-26 13:20:49 +02:00
2022-04-25 13:54:16 +02:00
2022-03-10 15:58:17 +01:00
2022-05-19 23:46:10 +02:00
2020-10-25 14:51:49 -07:00
2021-04-05 11:30:57 +02:00
2022-02-17 07:00:39 -06:00
2021-06-18 16:41:21 +02:00
2022-02-17 07:00:39 -06:00
2022-05-11 14:40:57 +02:00
2020-08-26 18:47:21 +02:00
2020-09-14 10:30:07 +02:00
2021-06-28 11:18:28 +02:00
2022-05-31 14:10:54 -07:00
2021-07-27 09:39:15 +02:00
2021-09-07 13:38:41 +02:00
2022-03-10 15:58:17 +01:00
2021-10-26 15:21:29 +02:00
2021-07-27 09:39:20 +02:00
2021-01-19 12:29:26 +01:00
2022-02-06 23:31:29 +01:00
2020-09-15 13:21:46 -07:00
2022-05-09 11:50:01 +02:00
2021-10-11 20:55:58 +02:00
2020-12-16 14:55:49 +01:00
2022-03-08 00:33:00 +01:00
2022-02-17 07:00:39 -06:00
2021-07-27 09:39:21 +02:00
2022-05-09 11:50:01 +02:00
2022-03-08 00:33:00 +01:00
2021-11-09 10:02:49 -08:00
2022-02-17 07:00:39 -06:00
2022-03-01 20:41:28 +01:00
2021-08-03 14:31:40 +02:00
2022-03-08 00:33:00 +01:00
2020-09-30 12:09:54 +02:00
2021-02-10 23:34:16 +01:00
2022-05-13 16:48:55 -07:00
2020-03-11 14:18:44 +01:00
2022-02-17 07:00:39 -06:00
2021-03-08 10:46:27 +01:00
2021-05-07 00:26:34 -07:00
2022-04-25 13:54:12 +02:00
2021-02-24 00:31:22 +01:00
2022-03-08 00:33:01 +01:00
2021-06-18 16:41:19 +02:00
2021-10-11 20:55:58 +02:00
2021-06-18 16:41:19 +02:00
2020-12-29 15:36:49 -08:00
2021-10-20 13:09:47 -05:00
2022-06-03 13:57:50 -07:00
2021-07-30 17:09:02 +02:00
2022-03-10 15:58:17 +01:00
2022-03-01 08:58:25 -05:00
2021-08-25 11:03:35 +02:00
2022-03-08 00:33:00 +01:00
2022-05-09 11:50:01 +02:00
2019-08-26 12:51:18 +02:00
2021-10-04 11:47:24 +02:00
2021-06-07 17:06:59 +02:00
2022-03-08 00:33:00 +01:00
2021-08-03 14:31:40 +02:00
2022-05-09 11:50:01 +02:00
2021-10-26 15:21:29 +02:00
2022-07-13 15:21:55 +02:00
2020-02-27 16:02:21 +01:00
2022-02-09 22:56:04 +01:00
2022-03-25 10:01:34 -07:00
2022-05-09 11:50:01 +02:00
2020-09-14 10:30:07 +02:00
2022-04-25 13:54:15 +02:00
2021-12-06 14:42:26 +01:00
2019-07-11 20:40:02 +02:00
2021-11-29 09:48:34 +01:00
2022-03-10 15:58:17 +01:00
2021-06-28 11:18:28 +02:00
2019-11-30 10:52:44 +01:00
2022-03-01 21:05:10 +01:00
2022-05-09 18:20:46 -07:00
2019-08-21 12:58:53 +02:00
2022-05-11 14:40:58 +02:00
2022-05-25 11:46:02 +02:00
2020-09-14 11:38:35 +02:00
2022-05-06 20:45:15 +02:00
2022-06-30 19:40:36 +02:00
2022-04-25 13:54:12 +02:00
2022-04-25 13:54:13 +02:00
2020-11-20 11:16:35 -08:00
2021-11-06 13:30:38 -07:00
2021-07-30 17:09:01 +02:00
2021-10-26 15:21:31 +02:00
2021-06-18 16:41:22 +02:00
2022-02-06 23:31:29 +01:00
2021-07-08 22:12:18 +02:00
2021-12-07 15:14:12 +01:00
2022-05-17 15:16:28 +02:00
2022-06-01 12:03:17 +02:00
2022-05-11 14:40:57 +02:00
2021-10-26 15:21:30 +02:00
2022-03-27 22:18:38 +02:00
2021-09-14 16:06:20 +02:00
2022-02-17 07:00:39 -06:00
2021-10-11 20:55:58 +02:00
2021-09-30 16:12:51 +02:00
2022-05-13 23:59:23 +02:00
2022-07-21 10:50:13 -07:00
2022-03-10 15:58:17 +01:00
2020-08-11 18:16:35 +02:00
2021-06-07 17:07:01 +02:00
2021-06-18 16:41:21 +02:00
2022-06-01 12:03:17 +02:00
2022-04-26 13:35:45 -07:00
2022-03-27 22:18:39 +02:00
2022-01-30 21:17:00 -05:00
2022-05-20 16:38:35 +02:00
2021-07-08 15:37:28 +02:00
2019-12-10 10:12:55 +01:00
2021-01-19 12:29:26 +01:00
2020-09-30 12:09:54 +02:00
2022-05-06 20:45:14 +02:00