This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Fwd: Re: struct page field arrangement

To: "Keir Fraser" <keir@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Fwd: Re: struct page field arrangement
From: "Jan Beulich" <jbeulich@xxxxxxxxxx>
Date: Thu, 01 Mar 2007 11:45:58 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 01 Mar 2007 03:45:25 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C20C59E0.A679%keir@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <45E69FFD.76E4.0078.0@xxxxxxxxxx> <C20C59E0.A679%keir@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> Keir Fraser <keir@xxxxxxxxxxxxx> 01.03.07 11:22 >>>
>On 1/3/07 08:42, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
>> Having looked a little into the disabled SPLIT_PT_LOCK issue on Xen, I
>> realized that is shouldn't be too difficult to re-enable it (at least in some
>> cases).
>How does pagetable locking work in modern Linux kernels? It seems that
>updates of ptes are protected by a per-page lock or the mm lock, and
>population of page directory entries is protected by the mm lock, but that
>there is no synchronisation with read-only pagetable walks. Does this mean
>that sections of pagetable hierarchy are never reaped from a process until
>it dies?

Yes, that's my understanding.

>Can we confident that the mm_pin/mm_unpin code (which walks pagetables and
>has to find every page to make every one read-only or writable) is safe?
>Presumably for this to be true we need to be sure that noone can meanwhile
>concurrently be populating the pagetable we are walking with extra

Since the pin/unpin walking only cares about pgd/pud/pmd entries, 
is guaranteed through mm->page_table_lock. The pte lock is used only for leaf
entries, which are of no concern to (un)pinning.


Xen-devel mailing list