[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48DC106D.9010601@goop.org>
Date: Thu, 25 Sep 2008 15:27:57 -0700
From: Jeremy Fitzhardinge <jeremy@...p.org>
To: benh@...nel.crashing.org
CC: Hugh Dickins <hugh@...itas.com>,
Linux Memory Management List <linux-mm@...ck.org>,
Linux Kernel list <linux-kernel@...r.kernel.org>,
Nick Piggin <npiggin@...e.de>,
Martin Schwidefsky <schwidefsky@...ibm.com>
Subject: Re: PTE access rules & abstraction
Benjamin Herrenschmidt wrote:
> On Thu, 2008-09-25 at 11:15 -0700, Jeremy Fitzhardinge wrote:
>
>> The ptep_modify_prot_start/commit pair specifies a single pte update in
>> such a way to allow more implementation flexibility - ie, there's no
>> naked requirement for an atomic fetch-and-clear operation. I chose the
>> transaction-like terminology to emphasize that the start/commit
>> functions must be strictly paired; there's no way to fail or abort the
>> "transaction". A whole group of those start/commit pairs can be batched
>> together without affecting their semantics.
>>
>
> I still can't see the point of having now 3 functions instead of just
> one such as ptep_modify_protection(). I don't see what it buys you other
> than adding gratuituous new interfaces.
>
Yeah, that would work too; that's pretty much how Xen implements it
anyway. The main advantage of the start/commit pair is that the
resulting code was completely unchanged from the old code. The mprotect
sequence using ptep_modify_protection would end up reading the pte twice
before writing it.
J
--
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