Re: [patch for-3.7] mm, mempolicy: fix printing stack contents in numa_maps

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

 



On Wed, 2012-10-24 at 17:08 -0700, David Rientjes wrote:
> Ok, this looks the same but it's actually a different issue: 
> mpol_misplaced(), which now only exists in linux-next and not in 3.7-rc2, 
> calls get_vma_policy() which may take the shared policy mutex.  This 
> happens while holding page_table_lock from do_huge_pmd_numa_page() but 
> also from do_numa_page() while holding a spinlock on the ptl, which is 
> coming from the sched/numa branch.
> 
> Is there anyway that we can avoid changing the shared policy mutex back 
> into a spinlock (it was converted in b22d127a39dd ["mempolicy: fix a race 
> in shared_policy_replace()"])?
> 
> Adding Peter, Rik, and Mel to the cc. 

Urgh, crud I totally missed that.

So the problem is that we need to compute if the current page is placed
'right' while holding pte_lock in order to avoid multiple pte_lock
acquisitions on the 'fast' path.

I'll look into this in a bit, but one thing that comes to mind is having
both a spnilock and a mutex and require holding both for modification
while either one is sufficient for read.

That would allow sp_lookup() to use the spinlock, while insert and
replace can hold both.

Not sure it will work for this, need to stare at this code a little
more.

--
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]