Re: [PATCH] mm/mmap.c: Remove redundant vma looping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]