Re: [PATCH 2/2] mm/migration: Make rmap_walk_anon() andtry_to_unmap_anon() more scalable

From: Michel Lespinasse
Date: Tue Dec 04 2012 - 09:37:31 EST


On Mon, Dec 3, 2012 at 6:17 AM, Mel Gorman <mgorman@xxxxxxx> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/