On 10/4/15 04:09, Richard Weinberger wrote: > With that change you're reintroducing an issue. > Please see: > commit 7cd5a02f54f4c9d16cf7fdffa2122bc73bb09b43 > Author: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> > Date: Mon Aug 11 09:30:25 2008 +0200 > > mm: fix mm_take_all_locks() locking order > > Lockdep spotted: > > ======================================================= > [ INFO: possible circular locking dependency detected ] > 2.6.27-rc1 #270 > ------------------------------------------------------- > qemu-kvm/2033 is trying to acquire lock: > (&inode->i_data.i_mmap_lock){----}, at: [<ffffffff802996cc>] > mm_take_all_locks+0xc2/0xea > > but task is already holding lock: > (&anon_vma->lock){----}, at: [<ffffffff8029967a>] > mm_take_all_locks+0x70/0xea > > which lock already depends on the new lock. > Oh, really. Thanks. > > git blame often explains funky code. :-) > Next, I shall check the git log before make patches, each time. :-) Theoretically, the lock and unlock need to be symmetric, if we have to lock f_mapping all firstly, then lock all anon_vma, probably, we also need to unlock anon_vma all, then unlock all f_mapping. Thanks. -- Chen Gang (陈刚) Open, share, and attitude like air, water, and life which God blessed -- 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