[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <C32BBF27.166CA%keir@xensource.com>
Date: Fri, 05 Oct 2007 10:15:03 +0100
From: Keir Fraser <keir@...source.com>
To: Jeremy Fitzhardinge <jeremy@...p.org>
CC: Andrew Morton <akpm@...ux-foundation.org>,
Hugh Dickens <hugh@...itas.com>,
David Rientjes <rientjes@...gle.com>,
Zachary Amsden <zach@...are.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Rusty Russell <rusty@...tcorp.com.au>, Andi Kleen <ak@...e.de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: race with page_referenced_one->ptep_test_and_clear_young and
pagetable setup/pulldown
On 5/10/07 10:05, "Jeremy Fitzhardinge" <jeremy@...p.org> wrote:
> Andi says:
>> Do I misread that patch or does it really walk the complete address
>> space and try to take all possible locks? Isn't that very slow?
>>
>
> That's pretty much what it has to do. Pinning/unpinning walks the whole
> pagetable anyway, so it shouldn't be much more expensive. And they're
> relatively rare operations (fork, exec, exit).
It is a shame to do 3x walks per pin or unpin, rather than 1x, though.
One way to improve this, possibly, is to pin the pte tables individually as
you go, rather than doing one big pin/unpin just at the root pgd. Then you
can lock/unlock the pte's as you go. I'd suggest that as a possible post
2.6.23 improvement, however. Jan's patch has actually had some testing.
-- Keir
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists