[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

On 16/3/07 15:15, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:

> But without being attached to an mm, the user portion of the pgd should
> be blank? I really can't follow why i386 requires so much more special
> handling here than x86-64.

PAE allocates the pmd's early (in pgd_alloc() in fact). So any pgd_alloc()ed
pgd must be captured by mm_pin_all().

> And what about the pgd_test_and_unpin() case?

It's only called from pgd_alloc, pgd_free, pgd_dtor. I'm not sure it's
needed in all those places, but it's needed in some of them to deal with the
case that _arch_exit_mmap() didn't unpin the pgd, because a PAE pgd does not
lose its pmd's until pgd_free(). In none of those cases is there a
concurrency problem: there's no mm associated with the pgd and hence no
concurrency issue.

I just checked in a patch to clarify some of this, particularly around
mm_pin_all, as c/s 14408. Feel free to submit more clarification patches --
I suspect a few more comments around these functions would help avoid

 -- Keir

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.