On Tue, Feb 28, 2017 at 10:28:20PM +0900, Byungchul Park wrote: > 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? The place is fine, but I would use kmalloc() now (and subsequently kfree on the other end) for the allocation. Its not _that_ large anymore, right? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>