5.4.82-rt46-rc1 stable review patch. If anyone has any objections, please let me know. ------------------ From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx> This reverts commit 3971227b5af04e6c34ef7b47b2ebe941727563a0. Link: https://lore.kernel.org/r/20201116171958.2opbksmgbznrjxu2@xxxxxxxxxxxxx Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> --- include/linux/seqlock.h | 9 +++++++++ include/net/sch_generic.h | 10 +--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h index f390293974ea..e5207897c33e 100644 --- a/include/linux/seqlock.h +++ b/include/linux/seqlock.h @@ -489,6 +489,15 @@ static inline void write_seqlock(seqlock_t *sl) __raw_write_seqcount_begin(&sl->seqcount); } +static inline int try_write_seqlock(seqlock_t *sl) +{ + if (spin_trylock(&sl->lock)) { + __raw_write_seqcount_begin(&sl->seqcount); + return 1; + } + return 0; +} + static inline void write_sequnlock(seqlock_t *sl) { __raw_write_seqcount_end(&sl->seqcount); diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index 112d2dca8b08..e6afb4b9cede 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -168,16 +168,8 @@ static inline bool qdisc_run_begin(struct Qdisc *qdisc) return false; } #ifdef CONFIG_PREEMPT_RT - if (spin_trylock(&qdisc->running.lock)) { - seqcount_t *s = &qdisc->running.seqcount; - /* - * Variant of write_seqcount_t_begin() telling lockdep that a - * trylock was attempted. - */ - __raw_write_seqcount_begin(s); - seqcount_acquire(&s->dep_map, 0, 1, _RET_IP_); + if (try_write_seqlock(&qdisc->running)) return true; - } return false; #else /* Variant of write_seqcount_begin() telling lockdep a trylock -- 2.29.2