On Thu, Jun 30, 2016 at 03:04:58PM +0200, Peter Zijlstra wrote: > On Mon, Jun 20, 2016 at 01:55:23PM +0900, Byungchul Park wrote: > > @@ -215,6 +219,11 @@ struct page { > > #ifdef LAST_CPUPID_NOT_IN_PAGE_FLAGS > > int _last_cpupid; > > #endif > > + > > +#ifdef CONFIG_LOCKDEP_PAGELOCK > > + struct lockdep_map map; > > + struct cross_lock xlock; > > +#endif > > } > > So that's 32+64=96 bytes (CONFIG_LOCK_STAT=n) added to struct page, > really!?
Yes... I concerned it at first, but I thought it would be ok since CONFIG_LOCKDEP_PAGE is a debug feature. Anyway, I will try to reduce the size of struct cross_lock which is only thing I can do to reduce it, since we cannot avoid using lockdep_map if we want to make lock_page() participate in the lockdep play.