[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210317195834.GV4746@worktop.programming.kicks-ass.net>
Date: Wed, 17 Mar 2021 20:58:34 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Waiman Long <longman@...hat.com>
Cc: linux-kernel@...r.kernel.org, linux-tip-commits@...r.kernel.org,
Ingo Molnar <mingo@...nel.org>, x86@...nel.org
Subject: Re: [tip: locking/urgent] locking/ww_mutex: Treat ww_mutex_lock()
like a trylock
On Wed, Mar 17, 2021 at 02:32:27PM -0400, Waiman Long wrote:
> On 3/17/21 1:45 PM, Peter Zijlstra wrote:
> > > +# define __DEP_MAP_WW_MUTEX_INITIALIZER(lockname, class) \
> > > + , .dep_map = { \
> > > + .key = &(class).mutex_key, \
> > > + .name = (class).mutex_name, \
> > ,name = #class "_mutex", \
> >
> > and it 'works', but shees!
>
> The name string itself may be duplicated for multiple instances of
> DEFINE_WW_MUTEX(). Do you want to keep DEFINE_WW_MUTEX() or just use
> ww_mutex_init() for all?
So linkers can merge literals, but no guarantee. But yeah, lets just
kill the thing, less tricky macro crud to worry about.
> I notice that the problem with DEFINE_WW_MUTEX is that the ww_mutex
> themselves has null key instead of the same key from the ww_class as with
> ww_mutex_init().
Correct.
Powered by blists - more mailing lists