From: "Ahmed S. Darwish" <a.darwish@linutronix.de> To: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Will Deacon <will@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de>, "Paul E. McKenney" <paulmck@kernel.org>, "Sebastian A. Siewior" <bigeasy@linutronix.de>, Steven Rostedt <rostedt@goodmis.org>, LKML <linux-kernel@vger.kernel.org>, "Ahmed S. Darwish" <a.darwish@linutronix.de>, John Stultz <john.stultz@linaro.org>, Stephen Boyd <sboyd@kernel.org> Subject: [PATCH v1 18/25] timekeeping: Use sequence counter with associated raw spinlock Date: Tue, 19 May 2020 23:45:40 +0200 Message-ID: <20200519214547.352050-19-a.darwish@linutronix.de> (raw) In-Reply-To: <20200519214547.352050-1-a.darwish@linutronix.de> A sequence counter write side critical section must be protected by some form of locking to serialize writers. A plain seqcount_t does not contain the information of which lock must be held when entering a write side critical section. Use the new seqcount_raw_spinlock_t data type, which allows to associate a raw spinlock with the sequence counter. This enables lockdep to verify that the raw spinlock used for writer serialization is held when the write side critical section is entered. If lockdep is disabled this lock association is compiled out and has neither storage size nor runtime overhead. Signed-off-by: Ahmed S. Darwish <a.darwish@linutronix.de> --- kernel/time/timekeeping.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 9ebaab13339d..24e91a1e2acd 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -39,18 +39,19 @@ enum timekeeping_adv_mode { TK_ADV_FREQ }; +static DEFINE_RAW_SPINLOCK(timekeeper_lock); + /* * The most important data for readout fits into a single 64 byte * cache line. */ static struct { - seqcount_t seq; + seqcount_raw_spinlock_t seq; struct timekeeper timekeeper; } tk_core ____cacheline_aligned = { - .seq = SEQCNT_ZERO(tk_core.seq), + .seq = SEQCNT_RAW_SPINLOCK_ZERO(tk_core.seq, &timekeeper_lock), }; -static DEFINE_RAW_SPINLOCK(timekeeper_lock); static struct timekeeper shadow_timekeeper; /** @@ -63,7 +64,7 @@ static struct timekeeper shadow_timekeeper; * See @update_fast_timekeeper() below. */ struct tk_fast { - seqcount_t seq; + seqcount_raw_spinlock_t seq; struct tk_read_base base[2]; }; @@ -80,11 +81,13 @@ static struct clocksource dummy_clock = { }; static struct tk_fast tk_fast_mono ____cacheline_aligned = { + .seq = SEQCNT_RAW_SPINLOCK_ZERO(tk_fast_mono.seq, &timekeeper_lock), .base[0] = { .clock = &dummy_clock, }, .base[1] = { .clock = &dummy_clock, }, }; static struct tk_fast tk_fast_raw ____cacheline_aligned = { + .seq = SEQCNT_RAW_SPINLOCK_ZERO(tk_fast_raw.seq, &timekeeper_lock), .base[0] = { .clock = &dummy_clock, }, .base[1] = { .clock = &dummy_clock, }, }; @@ -157,7 +160,7 @@ static inline void tk_update_sleep_time(struct timekeeper *tk, ktime_t delta) * tk_clock_read - atomic clocksource read() helper * * This helper is necessary to use in the read paths because, while the - * seqlock ensures we don't return a bad value while structures are updated, + * seqcount ensures we don't return a bad value while structures are updated, * it doesn't protect from potential crashes. There is the possibility that * the tkr's clocksource may change between the read reference, and the * clock reference passed to the read function. This can cause crashes if @@ -222,10 +225,10 @@ static inline u64 timekeeping_get_delta(const struct tk_read_base *tkr) unsigned int seq; /* - * Since we're called holding a seqlock, the data may shift + * Since we're called holding a seqcount, the data may shift * under us while we're doing the calculation. This can cause * false positives, since we'd note a problem but throw the - * results away. So nest another seqlock here to atomically + * results away. So nest another seqcount here to atomically * grab the points we are checking with. */ do { @@ -486,7 +489,7 @@ EXPORT_SYMBOL_GPL(ktime_get_raw_fast_ns); * * To keep it NMI safe since we're accessing from tracing, we're not using a * separate timekeeper with updates to monotonic clock and boot offset - * protected with seqlocks. This has the following minor side effects: + * protected with seqcounts. This has the following minor side effects: * * (1) Its possible that a timestamp be taken after the boot offset is updated * but before the timekeeper is updated. If this happens, the new boot offset -- 2.20.1
next prev parent reply index Thread overview: 258+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-05-19 21:45 [PATCH v1 00/25] seqlock: Extend seqcount API with associated locks Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 01/25] net: core: device_rename: Use rwsem instead of a seqcount Ahmed S. Darwish 2020-05-19 22:01 ` Stephen Hemminger 2020-05-19 22:23 ` Thomas Gleixner 2020-05-19 23:11 ` Stephen Hemminger 2020-05-19 23:42 ` Thomas Gleixner 2020-05-20 0:06 ` Stephen Hemminger 2020-05-20 1:55 ` Thomas Gleixner 2020-05-20 2:57 ` David Miller 2020-05-20 3:18 ` Eric Dumazet 2020-05-20 4:36 ` Stephen Hemminger 2020-05-20 19:37 ` Thomas Gleixner 2020-05-20 21:36 ` Stephen Hemminger 2020-05-20 2:01 ` Eric Dumazet 2020-05-20 6:42 ` Ahmed S. Darwish 2020-05-20 12:51 ` Eric Dumazet 2020-06-03 14:33 ` Ahmed S. Darwish 2020-05-20 14:37 ` Dan Carpenter 2020-05-25 16:22 ` Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 02/25] mm/swap: Don't abuse the seqcount latching API Ahmed S. Darwish 2020-05-20 12:22 ` Konstantin Khlebnikov 2020-05-20 13:05 ` Peter Zijlstra 2020-05-22 14:57 ` Peter Zijlstra 2020-05-22 15:17 ` Sebastian A. Siewior 2020-05-22 16:23 ` Peter Zijlstra 2020-05-25 15:24 ` Ahmed S. Darwish 2020-05-25 15:45 ` Peter Zijlstra 2020-05-25 16:10 ` John Ogness 2020-09-10 15:08 ` [tip: locking/core] mm/swap: Do not abuse the seqcount_t " tip-bot2 for Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 03/25] net: phy: fixed_phy: Remove unused seqcount Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 04/25] block: nr_sects_write(): Disable preemption on seqcount write Ahmed S. Darwish 2020-05-22 16:39 ` Peter Zijlstra 2020-05-25 9:56 ` Ahmed S. Darwish [not found] ` <20200522001237.A00E8206BE@mail.kernel.org> 2020-05-25 10:12 ` Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 05/25] u64_stats: Document writer non-preemptibility requirement Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 06/25] dma-buf: Remove custom seqcount lockdep class key Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 07/25] lockdep: Add preemption disabled assertion API Ahmed S. Darwish 2020-05-22 17:55 ` Peter Zijlstra 2020-05-23 14:59 ` Sebastian A. Siewior 2020-05-23 22:41 ` Peter Zijlstra 2020-05-24 10:50 ` Sebastian A. Siewior 2020-05-25 10:22 ` Peter Zijlstra 2020-05-26 0:52 ` Ahmed S. Darwish 2020-05-26 8:13 ` Peter Zijlstra 2020-05-26 9:45 ` Ahmed S. Darwish 2020-06-03 15:30 ` Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 08/25] seqlock: lockdep assert non-preemptibility on seqcount_t write Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 09/25] Documentation: locking: Describe seqlock design and usage Ahmed S. Darwish 2020-05-22 18:01 ` Peter Zijlstra 2020-05-22 22:24 ` Steven Rostedt 2020-05-25 10:50 ` Ahmed S. Darwish 2020-05-25 11:02 ` Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 10/25] seqlock: Add RST directives to kernel-doc code samples and notes Ahmed S. Darwish 2020-05-22 18:02 ` Peter Zijlstra 2020-05-22 18:03 ` Peter Zijlstra 2020-05-22 18:26 ` Thomas Gleixner 2020-05-22 18:32 ` Peter Zijlstra 2020-05-25 9:36 ` Ahmed S. Darwish 2020-05-25 13:44 ` Peter Zijlstra 2020-05-25 14:07 ` Peter Zijlstra 2020-05-19 21:45 ` [PATCH v1 11/25] seqlock: Add missing kernel-doc annotations Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 12/25] seqlock: Extend seqcount API with associated locks Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 13/25] dma-buf: Use sequence counter with associated wound/wait mutex Ahmed S. Darwish 2020-05-20 10:48 ` Christian König 2020-05-21 0:09 ` Ahmed S. Darwish 2020-05-21 13:20 ` Christian König 2020-05-19 21:45 ` [PATCH v1 14/25] sched: tasks: Use sequence counter with associated spinlock Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 15/25] netfilter: conntrack: " Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 16/25] netfilter: nft_set_rbtree: Use sequence counter with associated rwlock Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 17/25] xfrm: policy: Use sequence counters with associated lock Ahmed S. Darwish 2020-05-19 21:45 ` Ahmed S. Darwish [this message] 2020-05-19 21:45 ` [PATCH v1 19/25] vfs: Use sequence counter with associated spinlock Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 20/25] raid5: " Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 21/25] iocost: " Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 22/25] NFSv4: " Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 23/25] userfaultfd: " Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 24/25] kvm/eventfd: " Ahmed S. Darwish 2020-05-19 21:45 ` [PATCH v1 25/25] hrtimer: Use sequence counter with associated raw spinlock Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 00/18] seqlock: Extend seqcount API with associated locks Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 01/18] Documentation: locking: Describe seqlock design and usage Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 02/18] seqlock: Properly format kernel-doc code samples Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 03/18] seqlock: Add missing kernel-doc annotations Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 04/18] seqlock: Extend seqcount API with associated locks Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 05/18] dma-buf: Remove custom seqcount lockdep class key Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 06/18] dma-buf: Use sequence counter with associated wound/wait mutex Ahmed S. Darwish 2020-06-08 14:32 ` Daniel Vetter 2020-06-08 0:57 ` [PATCH v2 07/18] sched: tasks: Use sequence counter with associated spinlock Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 08/18] netfilter: conntrack: " Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 09/18] netfilter: nft_set_rbtree: Use sequence counter with associated rwlock Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 10/18] xfrm: policy: Use sequence counters with associated lock Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 11/18] timekeeping: Use sequence counter with associated raw spinlock Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 12/18] vfs: Use sequence counter with associated spinlock Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 13/18] raid5: " Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 14/18] iocost: " Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 15/18] NFSv4: " Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 16/18] userfaultfd: " Ahmed S. Darwish 2020-06-08 0:57 ` [PATCH v2 17/18] kvm/eventfd: " Ahmed S. Darwish 2020-06-08 12:57 ` Paolo Bonzini 2020-06-08 0:57 ` [PATCH v2 18/18] hrtimer: Use sequence counter with associated raw spinlock Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 00/20] seqlock: Extend seqcount API with associated locks Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 01/20] Documentation: locking: Describe seqlock design and usage Ahmed S. Darwish 2020-07-06 21:04 ` Peter Zijlstra 2020-07-06 21:12 ` Jonathan Corbet 2020-07-06 21:16 ` Peter Zijlstra 2020-07-07 10:12 ` Ahmed S. Darwish 2020-07-07 12:47 ` Peter Zijlstra 2020-06-30 5:44 ` [PATCH v3 02/20] seqlock: Properly format kernel-doc code samples Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 03/20] seqlock: Add missing kernel-doc annotations Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 04/20] lockdep: Add preemption enabled/disabled assertion APIs Ahmed S. Darwish 2020-07-06 20:50 ` Peter Zijlstra 2020-07-07 7:34 ` Sebastian A. Siewior 2020-06-30 5:44 ` [PATCH v3 05/20] seqlock: lockdep assert non-preemptibility on seqcount_t write Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 06/20] seqlock: Extend seqcount API with associated locks Ahmed S. Darwish 2020-07-06 21:21 ` Peter Zijlstra 2020-07-07 8:40 ` Ahmed S. Darwish 2020-07-07 13:04 ` Peter Zijlstra 2020-07-07 14:37 ` Peter Zijlstra 2020-07-08 9:12 ` Peter Zijlstra 2020-07-08 10:43 ` Ahmed S. Darwish 2020-07-08 10:33 ` Ahmed S. Darwish 2020-07-08 12:29 ` Peter Zijlstra 2020-07-08 14:13 ` Peter Zijlstra 2020-07-08 14:25 ` Peter Zijlstra 2020-07-08 15:09 ` Ahmed S. Darwish 2020-07-08 15:35 ` Peter Zijlstra 2020-07-08 15:58 ` Ahmed S. Darwish 2020-07-08 16:16 ` Peter Zijlstra 2020-07-08 16:18 ` Peter Zijlstra 2020-07-08 16:01 ` Peter Zijlstra 2020-06-30 5:44 ` [PATCH v3 07/20] dma-buf: Remove custom seqcount lockdep class key Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 08/20] dma-buf: Use sequence counter with associated wound/wait mutex Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 09/20] sched: tasks: Use sequence counter with associated spinlock Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 10/20] netfilter: conntrack: " Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 11/20] netfilter: nft_set_rbtree: Use sequence counter with associated rwlock Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 12/20] xfrm: policy: Use sequence counters with associated lock Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 13/20] timekeeping: Use sequence counter with associated raw spinlock Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 14/20] vfs: Use sequence counter with associated spinlock Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 15/20] raid5: " Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 16/20] iocost: " Ahmed S. Darwish 2020-06-30 7:11 ` Daniel Wagner 2020-06-30 5:44 ` [PATCH v3 17/20] NFSv4: " Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 18/20] userfaultfd: " Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 19/20] kvm/eventfd: " Ahmed S. Darwish 2020-06-30 5:44 ` [PATCH v3 20/20] hrtimer: Use sequence counter with associated raw spinlock Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 00/24] seqlock: Extend seqcount API with associated locks Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 01/24] Documentation: locking: Describe seqlock design and usage Ahmed S. Darwish 2020-07-21 1:35 ` Steven Rostedt 2020-07-21 1:37 ` Steven Rostedt 2020-07-21 5:34 ` Ahmed S. Darwish 2020-07-21 1:44 ` Steven Rostedt 2020-07-21 1:51 ` Steven Rostedt 2020-07-21 7:15 ` Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 02/24] seqlock: Properly format kernel-doc code samples Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 03/24] seqlock: seqcount_t latch: End read sections with read_seqcount_retry() Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 04/24] seqlock: Reorder seqcount_t and seqlock_t API definitions Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 05/24] seqlock: Add kernel-doc for seqcount_t and seqlock_t APIs Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 06/24] seqlock: Implement raw_seqcount_begin() in terms of raw_read_seqcount() Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 07/24] lockdep: Add preemption enabled/disabled assertion APIs Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 08/24] seqlock: lockdep assert non-preemptibility on seqcount_t write Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-08-08 23:21 ` [PATCH v4 08/24] " Guenter Roeck 2020-08-08 23:23 ` Guenter Roeck 2020-08-09 18:42 ` Ahmed S. Darwish 2020-08-10 8:59 ` Greg KH 2020-08-10 9:48 ` peterz 2020-08-10 10:03 ` Greg KH 2020-08-10 9:54 ` [PATCH] Revert "seqlock: lockdep assert non-preemptibility on seqcount_t write" Ahmed S. Darwish 2020-08-10 10:05 ` Greg KH 2020-08-10 10:35 ` Ahmed S. Darwish 2020-08-10 14:10 ` Guenter Roeck 2020-08-18 22:51 ` Valdis Klētnieks 2020-08-19 0:56 ` Guenter Roeck 2020-08-19 7:00 ` Sebastian Andrzej Siewior 2020-08-19 7:34 ` Valdis Klētnieks 2020-08-19 16:15 ` Guenter Roeck 2020-08-10 19:55 ` [PATCH v4 08/24] seqlock: lockdep assert non-preemptibility on seqcount_t write Thomas Gleixner 2020-08-11 10:06 ` Greg KH 2020-07-20 15:55 ` [PATCH v4 09/24] seqlock: Extend seqcount API with associated locks Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 10/24] seqlock: Align multi-line macros newline escapes at 72 columns Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 11/24] dma-buf: Remove custom seqcount lockdep class key Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 12/24] dma-buf: Use sequence counter with associated wound/wait mutex Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 13/24] sched: tasks: Use sequence counter with associated spinlock Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 14/24] netfilter: conntrack: " Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 15/24] netfilter: nft_set_rbtree: Use sequence counter with associated rwlock Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 16/24] xfrm: policy: Use sequence counters with associated lock Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 17/24] timekeeping: Use sequence counter with associated raw spinlock Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 18/24] vfs: Use sequence counter with associated spinlock Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 19/24] raid5: " Ahmed S. Darwish 2020-07-22 6:40 ` Song Liu 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 20/24] iocost: " Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 21/24] NFSv4: " Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 22/24] userfaultfd: " Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 23/24] kvm/eventfd: " Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 15:55 ` [PATCH v4 24/24] hrtimer: Use sequence counter with associated raw spinlock Ahmed S. Darwish 2020-07-29 14:33 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-07-20 16:49 ` [PATCH v4 00/24] seqlock: Extend seqcount API with associated locks Eric Biggers 2020-07-20 17:33 ` Ahmed S. Darwish 2020-08-27 11:40 ` [PATCH v1 0/8] seqlock: Introduce seqcount_latch_t Ahmed S. Darwish 2020-08-27 11:40 ` [PATCH v1 1/8] time/sched_clock: Use raw_read_seqcount_latch() during suspend Ahmed S. Darwish 2020-08-27 11:40 ` [PATCH v1 2/8] mm/swap: Do not abuse the seqcount_t latching API Ahmed S. Darwish 2020-08-27 11:40 ` [PATCH v1 3/8] seqlock: Introduce seqcount_latch_t Ahmed S. Darwish 2020-09-10 15:08 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-08-27 11:40 ` [PATCH v1 4/8] time/sched_clock: Use seqcount_latch_t Ahmed S. Darwish 2020-09-10 15:08 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-08-27 11:40 ` [PATCH v1 5/8] timekeeping: " Ahmed S. Darwish 2020-09-10 15:08 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-08-27 11:40 ` [PATCH v1 6/8] x86/tsc: " Ahmed S. Darwish 2020-09-04 7:41 ` peterz 2020-09-04 8:03 ` peterz 2020-09-07 16:29 ` Ahmed S. Darwish 2020-09-07 17:30 ` peterz 2020-09-08 6:23 ` Ahmed S. Darwish 2020-09-10 15:08 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-08-27 11:40 ` [PATCH v1 7/8] rbtree_latch: " Ahmed S. Darwish 2020-09-10 15:08 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-08-27 11:40 ` [PATCH v1 8/8] seqlock: seqcount latch APIs: Only allow seqcount_latch_t Ahmed S. Darwish 2020-09-10 15:08 ` [tip: locking/core] " tip-bot2 for Ahmed S. Darwish 2020-08-28 1:07 ` [PATCH v1 0/5] seqlock: Introduce PREEMPT_RT support Ahmed S. Darwish 2020-08-28 1:07 ` [PATCH v1 1/5] seqlock: seqcount_LOCKTYPE_t: Standardize naming convention Ahmed S. Darwish 2020-08-28 8:18 ` peterz 2020-08-28 8:24 ` Ahmed S. Darwish 2020-08-28 1:07 ` [PATCH v1 2/5] seqlock: Use unique prefix for seqcount_t property accessors Ahmed S. Darwish 2020-08-28 8:27 ` peterz 2020-08-28 8:59 ` Ahmed S. Darwish 2020-08-28 1:07 ` [PATCH v1 3/5] seqlock: seqcount_t: Implement all read APIs as statement expressions Ahmed S. Darwish 2020-08-28 8:30 ` peterz 2020-08-28 8:37 ` Ahmed S. Darwish 2020-08-28 1:07 ` [PATCH v1 4/5] seqlock: seqcount_LOCKTYPE_t: Introduce PREEMPT_RT support Ahmed S. Darwish 2020-08-28 8:57 ` peterz 2020-08-28 8:59 ` peterz 2020-08-28 9:31 ` Ahmed S. Darwish 2020-08-28 14:36 ` Ahmed S. Darwish 2020-08-28 1:07 ` [PATCH v1 5/5] seqlock: PREEMPT_RT: Do not starve seqlock_t writers Ahmed S. Darwish 2020-09-04 6:52 ` [PATCH v1 0/5] seqlock: Introduce PREEMPT_RT support peterz 2020-09-04 7:30 ` Ahmed S. Darwish 2020-09-10 15:08 ` [tip: locking/core] seqlock: seqcount_LOCKNAME_t: " tip-bot2 for Ahmed S. Darwish
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200519214547.352050-19-a.darwish@linutronix.de \ --to=a.darwish@linutronix.de \ --cc=bigeasy@linutronix.de \ --cc=john.stultz@linaro.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mingo@redhat.com \ --cc=paulmck@kernel.org \ --cc=peterz@infradead.org \ --cc=rostedt@goodmis.org \ --cc=sboyd@kernel.org \ --cc=tglx@linutronix.de \ --cc=will@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lkml.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lkml.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lkml.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lkml.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lkml.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lkml.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lkml.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lkml.kernel.org/lkml/7 lkml/git/7.git git clone --mirror https://lkml.kernel.org/lkml/8 lkml/git/8.git git clone --mirror https://lkml.kernel.org/lkml/9 lkml/git/9.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lkml.kernel.org/lkml \ linux-kernel@vger.kernel.org public-inbox-index lkml Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git