On Mon, Jul 06, 2015 at 02:17:30AM +0200, Nicolai Stange wrote: > 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". > > Signed-off-by: Nicolai Stange <nicstange@xxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> -- Mel Gorman SUSE Labs -- 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>