On Thu, Apr 07, 2022 at 10:59:46AM +0200, Christian König wrote: > Daniel pointed out that this series removes the last user of > seqcount_ww_mutex_t, so let's drop this. > > Signed-off-by: Christian König <christian.koenig@xxxxxxx> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: Will Deacon <will@xxxxxxxxxx> > Cc: Waiman Long <longman@xxxxxxxxxx> > Cc: Boqun Feng <boqun.feng@xxxxxxxxx> > Cc: linux-kernel@xxxxxxxxxxxxxxx Yeah I don't think we'll ever need this again, ww_mutex aren't common and the ww_mutex+seqlock thing wasn't the brighest idea. Peter/Ingo, assuming you agree, can you ack this for merging through drm-misc, or want to pick this up later on when the last user disappeared in Linus' tree? Cheers, Daniel > --- > include/linux/seqlock.h | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h > index 37ded6b8fee6..3926e9027947 100644 > --- a/include/linux/seqlock.h > +++ b/include/linux/seqlock.h > @@ -17,7 +17,6 @@ > #include <linux/kcsan-checks.h> > #include <linux/lockdep.h> > #include <linux/mutex.h> > -#include <linux/ww_mutex.h> > #include <linux/preempt.h> > #include <linux/spinlock.h> > > @@ -164,7 +163,7 @@ static inline void seqcount_lockdep_reader_access(const seqcount_t *s) > * static initializer or init function. This enables lockdep to validate > * that the write side critical section is properly serialized. > * > - * LOCKNAME: raw_spinlock, spinlock, rwlock, mutex, or ww_mutex. > + * LOCKNAME: raw_spinlock, spinlock, rwlock or mutex > */ > > /* > @@ -184,7 +183,6 @@ static inline void seqcount_lockdep_reader_access(const seqcount_t *s) > #define seqcount_spinlock_init(s, lock) seqcount_LOCKNAME_init(s, lock, spinlock) > #define seqcount_rwlock_init(s, lock) seqcount_LOCKNAME_init(s, lock, rwlock) > #define seqcount_mutex_init(s, lock) seqcount_LOCKNAME_init(s, lock, mutex) > -#define seqcount_ww_mutex_init(s, lock) seqcount_LOCKNAME_init(s, lock, ww_mutex) > > /* > * SEQCOUNT_LOCKNAME() - Instantiate seqcount_LOCKNAME_t and helpers > @@ -277,7 +275,6 @@ SEQCOUNT_LOCKNAME(raw_spinlock, raw_spinlock_t, false, s->lock, raw_s > SEQCOUNT_LOCKNAME(spinlock, spinlock_t, __SEQ_RT, s->lock, spin, spin_lock(s->lock)) > SEQCOUNT_LOCKNAME(rwlock, rwlock_t, __SEQ_RT, s->lock, read, read_lock(s->lock)) > SEQCOUNT_LOCKNAME(mutex, struct mutex, true, s->lock, mutex, mutex_lock(s->lock)) > -SEQCOUNT_LOCKNAME(ww_mutex, struct ww_mutex, true, &s->lock->base, ww_mutex, ww_mutex_lock(s->lock, NULL)) > > /* > * SEQCNT_LOCKNAME_ZERO - static initializer for seqcount_LOCKNAME_t > @@ -304,8 +301,7 @@ SEQCOUNT_LOCKNAME(ww_mutex, struct ww_mutex, true, &s->lock->base, ww_mu > __seqprop_case((s), raw_spinlock, prop), \ > __seqprop_case((s), spinlock, prop), \ > __seqprop_case((s), rwlock, prop), \ > - __seqprop_case((s), mutex, prop), \ > - __seqprop_case((s), ww_mutex, prop)) > + __seqprop_case((s), mutex, prop)) > > #define seqprop_ptr(s) __seqprop(s, ptr) > #define seqprop_sequence(s) __seqprop(s, sequence) > -- > 2.25.1 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch