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.
![]() |