Re: [PATCH v8 00/14] lockdep: Implement crossrelease feature

Boqun Feng
2017-08-17T08:32:55Z

[-- Attachment #1: Type: text/plain, Size: 1106 bytes --]

On Thu, Aug 17, 2017 at 10:12:24AM +0200, Ingo Molnar wrote:
>
> * Boqun Feng <boqun.feng@gmail.com> wrote:
>
> > > BTW., I don't think the #ifdef is necessary: lockdep_init_map_crosslock should map
> > > to nothing when lockdep is disabled, right?
> >
> > IIUC, lockdep_init_map_crosslock is only defined when
> > CONFIG_LOCKDEP_CROSSRELEASE=y,
>
> Then lockdep_init_map_crosslock() should be defined in the !LOCKDEP case as well.
>
> > [...] moreover, completion::map, which used as
> > the parameter of lockdep_init_map_crosslock(), is only defined when
> > CONFIG_LOCKDEP_COMPLETE=y.
>
> If the !LOCKDEP wrapper is a CPP macro then it can ignore that parameter just
> fine, and it won't be built.
>

Oops, I miss this part.. so I will cook a patch define
lockdep_init_map_crosslock() when !LOCKDEP and I think based on that,
there is no need to introducde INIT_WQ_BARRIER_ONSTACK(), we can simply:

lockdep_init_map_crosslock(...);
__init_completion();

in insert_wq_barrier(). Simpler.

Thanks for your suggestion.

Regards,
Boqun

> Thanks,
>
> Ingo

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 484 bytes --]