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 <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Will Deacon <[email protected]>
> Cc: Waiman Long <[email protected]>
> Cc: Boqun Feng <[email protected]>
> Cc: [email protected]
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
Am 07.04.22 um 11:19 schrieb Daniel Vetter:
> 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 <[email protected]>
>> Cc: Peter Zijlstra <[email protected]>
>> Cc: Ingo Molnar <[email protected]>
>> Cc: Will Deacon <[email protected]>
>> Cc: Waiman Long <[email protected]>
>> Cc: Boqun Feng <[email protected]>
>> Cc: [email protected]
> 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?
Mpf, I didn't noticed that removing ww_mutex.h from seqlock.h is causing
a problem for futex.h.
Just send out a patch to fix this because the build servers are pointing
out now that drm-misc-next is broken.
Please review ASAP,
Christian.
>
> 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
>>