From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
"Christopher S. Aker" <caker@theshore.net>,
xen devel <xen-devel@lists.xensource.com>,
Jan Beulich <jbeulich@novell.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] 2.6.27 - SMP enabled, but only 1 CPU
Date: Thu, 06 Nov 2008 13:48:24 -0800 [thread overview]
Message-ID: <49136628.1020000@goop.org> (raw)
In-Reply-To: <20081106213344.GF24579@elte.hu>
Ingo Molnar wrote:
> where exactly is that use? My grep didnt show any users of pud_page().
> pud_page() was changed in an incompatible way, all users of it must be
> updated.
>
pgd_page() uses it in pgtable-nopud.h, so any users of pgd_page() also
need to be looked at. It so happens the only user is
arch/x86/xen/mmu.c, which expects it to return the vaddr. Fixed below.
J
Subject: xen: fix use of pgd_page now that it really does return a page
On 32-bit PAE, pud_page, for no good reason, didn't really return a
struct page *. Since Jan Beulich's fix "i386/PAE: fix pud_page()",
pud_page does return a struct page *.
Because PAE has 3 pagetable levels, the pud level is folded into the
pgd level, so pgd_page() is the same as pud_page(), and now returns
a struct page *. Update the xen/mmu.c code which uses pgd_page()
accordingly.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
---
arch/x86/xen/mmu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
===================================================================
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -877,7 +877,7 @@
#else /* CONFIG_X86_32 */
#ifdef CONFIG_X86_PAE
/* Need to make sure unshared kernel PMD is pinnable */
- xen_pin_page(mm, virt_to_page(pgd_page(pgd[pgd_index(TASK_SIZE)])),
+ xen_pin_page(mm, pgd_page(pgd[pgd_index(TASK_SIZE)]),
PT_PMD);
#endif
xen_do_pin(MMUEXT_PIN_L3_TABLE, PFN_DOWN(__pa(pgd)));
@@ -994,7 +994,7 @@
#ifdef CONFIG_X86_PAE
/* Need to make sure unshared kernel PMD is unpinned */
- xen_unpin_page(mm, virt_to_page(pgd_page(pgd[pgd_index(TASK_SIZE)])),
+ xen_unpin_page(mm, pgd_page(pgd[pgd_index(TASK_SIZE)]),
PT_PMD);
#endif
next prev parent reply other threads:[~2008-11-06 21:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <48F3BC99.5040409@theshore.net>
[not found] ` <490F5F50.7020704@theshore.net>
[not found] ` <4910AD00.7040605@theshore.net>
[not found] ` <4911BC52.7040905@theshore.net>
[not found] ` <1225994697.12607.837.camel@zakaz.uk.xensource.com>
2008-11-06 19:15 ` [Xen-devel] 2.6.27 - SMP enabled, but only 1 CPU Jeremy Fitzhardinge
2008-11-06 21:16 ` Ingo Molnar
2008-11-06 21:20 ` Jeremy Fitzhardinge
2008-11-06 21:22 ` Ingo Molnar
2008-11-06 21:28 ` Jeremy Fitzhardinge
2008-11-06 21:33 ` Ingo Molnar
2008-11-06 21:48 ` Jeremy Fitzhardinge [this message]
2008-11-06 22:20 ` Ingo Molnar
2008-11-06 22:29 ` Jeremy Fitzhardinge
2008-11-07 9:53 ` Jan Beulich
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=49136628.1020000@goop.org \
--to=jeremy@goop.org \
--cc=Ian.Campbell@citrix.com \
--cc=caker@theshore.net \
--cc=jbeulich@novell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox