Messages in this thread | | | Date | Wed, 17 Mar 2021 20:58:34 +0100 | From | Peter Zijlstra <> | 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.
| |