Messages in this thread | | | Date | Tue, 4 Dec 2012 06:37:41 -0800 | Subject | Re: [PATCH 2/2] mm/migration: Make rmap_walk_anon() and try_to_unmap_anon() more scalable | From | Michel Lespinasse <> |
| |
On Mon, Dec 3, 2012 at 6:17 AM, Mel Gorman <mgorman@suse.de> wrote: > On Sat, Dec 01, 2012 at 09:15:38PM +0100, Ingo Molnar wrote: >> @@ -732,7 +732,7 @@ static int page_referenced_anon(struct p >> struct anon_vma_chain *avc; >> int referenced = 0; >> >> - anon_vma = page_lock_anon_vma(page); >> + anon_vma = page_lock_anon_vma_read(page); >> if (!anon_vma) >> return referenced; > > This is a slightly trickier one as this path is called from reclaim. It does > open the possibility that reclaim can stall something like a parallel fork > or anything that requires the anon_vma rwsem for a period of time. I very > severely doubt it'll really be a problem but keep an eye out for bug reports > related to delayed mmap/fork/anything_needing_write_lock during page reclaim.
I don't see why this would be a problem - rwsem does implement reader/writer fairness, so having some sites do a read lock instead of a write lock shouldn't cause the write lock sites to starve. Is this what you were worried about ?
-- Michel "Walken" Lespinasse A program is never fully debugged until the last user dies.
| |