Messages in this thread | | | Date | Tue, 28 Feb 2017 22:28:20 +0900 | From | Byungchul Park <> | Subject | Re: [PATCH v5 06/13] lockdep: Implement crossrelease feature |
| |
On Tue, Feb 28, 2017 at 02:05:13PM +0100, Peter Zijlstra wrote: > On Wed, Jan 18, 2017 at 10:17:32PM +0900, Byungchul Park wrote: > > +#define MAX_XHLOCKS_NR 64UL > > > +#ifdef CONFIG_LOCKDEP_CROSSRELEASE > > + if (tsk->xhlocks) { > > + void *tmp = tsk->xhlocks; > > + /* Disable crossrelease for current */ > > + tsk->xhlocks = NULL; > > + vfree(tmp); > > + } > > +#endif > > > +#ifdef CONFIG_LOCKDEP_CROSSRELEASE > > + p->xhlock_idx = 0; > > + p->xhlock_idx_soft = 0; > > + p->xhlock_idx_hard = 0; > > + p->xhlock_idx_nmi = 0; > > + p->xhlocks = vzalloc(sizeof(struct hist_lock) * MAX_XHLOCKS_NR); > > I don't think we need vmalloc for this now.
Really? When is a better time to do it?
I think the time creating a task is the best time to initialize it. No?
> > > + p->work_id = 0; > > +#endif > > > +#ifdef CONFIG_LOCKDEP_CROSSRELEASE > > + if (p->xhlocks) { > > + void *tmp = p->xhlocks; > > + /* Diable crossrelease for current */ > > + p->xhlocks = NULL; > > + vfree(tmp); > > + } > > +#endif > > Second instance of the same code, which would suggest using a function > for this. Also, with a function you can loose the #ifdeffery.
Yes. It looks much better.
Thank you very much.
| |