Peter Zijlstra
0cd39f4600
locking/seqlock, headers: Untangle the spaghetti monster
By using lockdep_assert_*() from seqlock.h, the spaghetti monster
attacked.
Attack back by reducing seqlock.h dependencies from two key high level headers:
- <linux/seqlock.h>: -Remove <linux/ww_mutex.h>
- <linux/time.h>: -Remove <linux/seqlock.h>
- <linux/sched.h>: +Add <linux/seqlock.h>
The price was to add it to sched.h ...
Core header fallout, we add direct header dependencies instead of gaining them
parasitically from higher level headers:
- <linux/dynamic_queue_limits.h>: +Add <asm/bug.h>
- <linux/hrtimer.h>: +Add <linux/seqlock.h>
- <linux/ktime.h>: +Add <asm/bug.h>
- <linux/lockdep.h>: +Add <linux/smp.h>
- <linux/sched.h>: +Add <linux/seqlock.h>
- <linux/videodev2.h>: +Add <linux/kernel.h>
Arch headers fallout:
- PARISC: <asm/timex.h>: +Add <asm/special_insns.h>
- SH: <asm/io.h>: +Add <asm/page.h>
- SPARC: <asm/timer_64.h>: +Add <uapi/asm/asi.h>
- SPARC: <asm/vvar.h>: +Add <asm/processor.h>, <asm/barrier.h>
-Remove <linux/seqlock.h>
- X86: <asm/fixmap.h>: +Add <asm/pgtable_types.h>
-Remove <asm/acpi.h>
There's also a bunch of parasitic header dependency fallout in .c files, not listed
separately.
[ mingo: Extended the changelog, split up & fixed the original patch. ]
Co-developed-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200804133438.GK2674@hirez.programming.kicks-ass.net
2020-08-06 16:13:13 +02:00
..
2020-05-14 16:44:25 +02:00
2020-03-25 11:50:48 +01:00
2019-06-19 17:09:52 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-11-18 13:35:21 -08:00
2017-11-02 11:10:55 +01:00
2018-11-18 13:35:21 -08:00
2017-11-02 11:10:55 +01:00
2019-05-21 10:50:45 +02:00
2017-11-02 11:10:55 +01:00
2020-06-09 09:39:13 -07:00
2020-05-07 18:49:04 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-05-07 18:49:04 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-03-18 07:38:45 -07:00
2020-06-09 09:39:13 -07:00
2017-11-02 11:10:55 +01:00
2018-03-18 07:38:48 -07:00
2017-11-02 11:10:55 +01:00
2018-11-27 20:31:46 -05:00
2017-11-02 11:10:55 +01:00
2020-05-13 15:32:00 -07:00
2020-06-09 09:39:13 -07:00
2019-05-21 10:50:45 +02:00
2018-01-22 08:17:15 -08:00
2018-01-22 08:17:15 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-12-06 06:56:40 -08:00
2018-05-09 06:54:27 +02:00
2019-02-20 07:28:58 -07:00
2020-04-02 18:11:55 -07:00
2017-11-02 11:10:55 +01:00
2018-11-18 13:35:21 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-01-06 09:46:51 +09:00
2019-02-20 07:28:53 -07:00
2018-12-30 08:33:06 +00:00
2018-12-30 08:33:06 +00:00
2018-06-21 12:33:19 +02:00
2017-11-02 11:10:55 +01:00
2020-06-09 09:39:13 -07:00
2018-05-09 06:54:27 +02:00
2020-02-04 03:05:26 +00:00
2018-11-18 13:35:22 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-22 07:54:06 -05:00
2017-11-02 11:10:55 +01:00
2020-06-09 09:39:13 -07:00
2019-01-06 09:46:51 +09:00
2019-06-02 22:15:35 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-05-21 10:50:45 +02:00
2018-11-18 13:35:22 -08:00
2018-11-18 13:35:22 -08:00
2020-04-02 18:11:55 -07:00
2017-11-02 11:10:55 +01:00
2018-05-22 07:54:06 -05:00
2019-03-05 21:07:14 -08:00
2018-02-15 15:07:30 -06:00
2018-05-22 07:54:06 -05:00
2017-11-02 11:10:55 +01:00
2018-11-18 13:35:21 -08:00
2019-03-05 21:07:14 -08:00
2017-11-02 11:10:55 +01:00
2019-04-10 21:42:04 +02:00
2017-11-02 11:10:55 +01:00
2020-06-09 09:39:13 -07:00
2018-05-22 07:54:06 -05:00
2019-05-21 10:50:45 +02:00
2019-06-02 22:16:33 -07:00
2017-11-02 11:10:55 +01:00
2018-11-18 13:35:20 -08:00
2020-06-09 09:39:13 -07:00
2020-06-09 09:39:13 -07:00
2020-01-21 13:24:35 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2018-11-18 13:35:21 -08:00
2017-11-02 11:10:55 +01:00
2019-03-05 21:07:14 -08:00
2017-11-02 11:10:55 +01:00
2020-06-09 09:39:13 -07:00
2020-06-09 09:39:13 -07:00
2018-11-18 13:35:21 -08:00
2017-11-02 11:10:55 +01:00
2019-12-08 14:37:35 +01:00
2019-03-05 21:07:14 -08:00
2020-06-09 09:39:13 -07:00
2020-06-09 09:39:13 -07:00
2020-06-09 09:39:13 -07:00
2020-06-09 09:39:13 -07:00
2020-06-09 09:39:13 -07:00
2019-01-03 18:57:57 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-06-09 09:39:13 -07:00
2020-06-09 09:39:13 -07:00
2016-08-07 23:55:43 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-05-21 10:50:45 +02:00
2017-11-02 11:10:55 +01:00
2018-11-18 13:35:21 -08:00
2017-11-02 11:10:55 +01:00
2020-06-09 09:39:13 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-06-19 17:09:52 +02:00
2017-11-02 11:10:55 +01:00
2018-03-20 12:01:23 -04:00
2020-06-02 18:41:48 -07:00
2019-05-29 09:31:43 -05:00
2020-02-02 11:54:41 +01:00
2018-03-20 12:05:17 -04:00
2017-11-02 11:10:55 +01:00
2018-11-18 18:52:22 -08:00
2018-11-18 18:52:22 -08:00
2018-03-20 12:05:17 -04:00
2017-11-02 11:10:55 +01:00
2019-05-10 12:20:36 +02:00
2017-11-02 11:10:55 +01:00
2020-06-09 09:39:13 -07:00
2020-06-09 09:39:13 -07:00
2020-06-09 09:39:13 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-03-18 07:38:45 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-01-03 18:57:57 -08:00
2017-11-02 11:10:55 +01:00
2019-05-21 11:28:45 +02:00
2018-03-18 07:38:48 -07:00
2017-11-02 11:10:55 +01:00
2020-08-06 16:13:13 +02:00
2020-05-13 15:35:58 -07:00
2018-10-07 22:42:00 -07:00
2017-11-02 11:10:55 +01:00
2020-01-30 07:36:43 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00