On Fri, Jul 17, 2015 at 01:22:02PM +0100, Mel Gorman wrote: > From: Nicolai Stange <[email protected]> > > Commit 0e1cc95b4cc7 ("mm: meminit: finish initialisation of struct pages > before basic setup") introduced a rwsem to signal completion of the > initialization workers. > > Lockdep complains about possible recursive locking: > ============================================= > [ INFO: possible recursive locking detected ] > 4.1.0-12802-g1dc51b8 #3 Not tainted > --------------------------------------------- > swapper/0/1 is trying to acquire lock: > (pgdat_init_rwsem){++++.+}, > at: [<ffffffff8424c7fb>] page_alloc_init_late+0xc7/0xe6 > > but task is already holding lock: > (pgdat_init_rwsem){++++.+}, > at: [<ffffffff8424c772>] page_alloc_init_late+0x3e/0xe6 > > Replace the rwsem by a completion together with an atomic > "outstanding work counter". > > [[email protected]: Barrier removal on the grounds of being pointless] > [[email protected]: Applied review feedback] > Signed-off-by: Nicolai Stange <[email protected]> > Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Peter Zijlstra (Intel) <[email protected]> Thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

