All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jan Beulich" <jbeulich@novell.com>
To: Keir Fraser <keir@xensource.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: Fwd: Re: struct page field arrangement
Date: Thu, 01 Mar 2007 11:45:58 +0000	[thread overview]
Message-ID: <45E6CB06.76E4.0078.0@novell.com> (raw)
In-Reply-To: <C20C59E0.A679%keir@xensource.com>

>>> Keir Fraser <keir@xensource.com> 01.03.07 11:22 >>>
>On 1/3/07 08:42, "Jan Beulich" <jbeulich@novell.com> 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
>pgds/puds/pmds/ptes...

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

Jan

  reply	other threads:[~2007-03-01 11:45 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-28 14:31 struct page field arrangement Jan Beulich
2007-02-28 21:08 ` Hugh Dickins
2007-03-01  8:42   ` Fwd: " Jan Beulich
2007-03-01 10:22     ` Keir Fraser
2007-03-01 11:45       ` Jan Beulich [this message]
2007-03-01 12:12         ` Keir Fraser
2007-03-01 12:50           ` Jan Beulich
2007-03-01 13:42             ` Keir Fraser
  -- strict thread matches above, loose matches on Subject: below --
2007-03-16 11:58 Jan Beulich
2007-03-16 12:11 ` Keir Fraser
2007-03-16 12:25   ` Keir Fraser
2007-03-16 12:54     ` Jan Beulich
2007-03-16 12:37 ` Keir Fraser
2007-03-16 12:46   ` Jan Beulich
2007-03-16 13:47 Jan Beulich
2007-03-16 14:13 ` Keir Fraser
2007-03-16 14:30   ` Keir Fraser
2007-03-16 15:15     ` Jan Beulich
2007-03-16 15:30       ` Keir Fraser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45E6CB06.76E4.0078.0@novell.com \
    --to=jbeulich@novell.com \
    --cc=keir@xensource.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.