From: Ian Campbell <ijc@hellion.org.uk>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: "Mika Penttilä" <mika.penttila@kolumbus.fi>,
linux-kernel@vger.kernel.org,
"Thomas Gleixner" <tglx@linutronix.de>,
"Ingo Molnar" <mingo@redhat.com>,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [PATCH] x86: Construct 32 bit boot time page tables in native format.
Date: Mon, 21 Jan 2008 21:46:36 +0000 [thread overview]
Message-ID: <1200951996.15491.28.camel@cthulhu.hellion.org.uk> (raw)
In-Reply-To: <479510CE.7010706@zytor.com>
On Mon, 2008-01-21 at 13:38 -0800, H. Peter Anvin wrote:
> Ian Campbell wrote:
> > On Sun, 2008-01-20 at 20:30 +0200, Mika Penttilä wrote:
> >>>
> >> You have dropped the requirement to map all of low memory (the boot
> >> allocator is used for instance to construct physical mem mapping).
> >> Either you should fix your INIT_MAP_BEYOND_END or make a big comment
> >> telling us why it isn't necessary anymore to map low mem.
> >
> > I think you are right. The patch ensures that all the initial page
> > tables themselves have mappings but won't map the additional pages
> > needed for mapping the rest of lowmem.
> >
> > However, I think it is no longer necessary to map a whole new 4G worth
> > of page table pages because the code in kernel_physical_mapping_init now
> > extends the initial mappings rather than replacing them (see changes to
> > native_pagetable_setup_start). So now we only need to map 4G worth of
> > page tables including the initial page tables. That means we only need
> > to map a fixed set of extra pages rather than the sliding limit
> > currently used in the patch.
> >
>
> We still need to be able to construct those page tables, which is what
> that stuff is about...
Yes, my initial patch was wrong. However with the patch we no longer
throw away the non-PAE initial page tables and replace them with PAE
ones, instead we augment the initial PAE page tables. This means we only
need initial mappings of 4G worth of page tables rather than 4G plus
what is needed for the non-PAE initial page tables.
I don't think I explained that at all well on either attempt...
Hopefully what I mean will be clearer in patch form -- coming in a
second...
> > I'm not convinced by the additional 16MB for CONFIG_DEBUG_PAGEALLOC --
> > we map enough pages for page tables for 4G of lowmem -- adding space for
> > an extra 16M seems pointless.
>
> If so, adjusting the limit should be a separate patch.
>
> Either way, I'm increasingly thinking that setting up the initial page
> tables via an assembly loop instead of worrying about the C accessors is
> actually cleaner (I prototyped it yesterday, although I still need the
> rest of the machinery.)
I'm just preparing to send out a version which uses the native_* way of
doing things, its not actually as clean as I would like so I'd be
interested to see the ASM variant.
Ian.
--
Ian Campbell
You shall be rewarded for a dastardly deed.
next prev parent reply other threads:[~2008-01-21 21:46 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-19 16:08 [PATCH] x86/voyager: Switch voyager memory detection to early_ioremap Ian Campbell
2008-01-19 16:08 ` [PATCH] x86: Construct 32 bit boot time page tables in native format Ian Campbell
2008-01-19 23:07 ` Andi Kleen
2008-01-19 23:50 ` H. Peter Anvin
2008-01-20 16:44 ` Ian Campbell
2008-01-20 17:39 ` Andi Kleen
2008-01-20 18:48 ` H. Peter Anvin
2008-01-20 18:55 ` Andi Kleen
2008-01-20 18:54 ` H. Peter Anvin
2008-01-22 10:05 ` Ingo Molnar
2008-01-22 16:23 ` H. Peter Anvin
2008-01-20 18:30 ` Mika Penttilä
2008-01-21 21:23 ` Ian Campbell
2008-01-21 21:38 ` H. Peter Anvin
2008-01-21 21:46 ` Ian Campbell [this message]
2008-01-22 2:16 ` H. Peter Anvin
2008-01-22 17:36 ` Ian Campbell
2008-01-22 18:23 ` H. Peter Anvin
2008-01-22 19:48 ` Ian Campbell
2008-01-22 20:00 ` H. Peter Anvin
2008-01-22 20:36 ` Ingo Molnar
2008-01-22 20:43 ` H. Peter Anvin
2008-01-22 20:45 ` Ingo Molnar
2008-01-22 20:52 ` Ian Campbell
2008-01-22 21:00 ` H. Peter Anvin
2008-01-22 22:21 ` Ian Campbell
2008-01-22 21:00 ` [PATCH] x86: make nx_enabled conditional on CONFIG_X86_PAE Harvey Harrison
2008-01-22 21:04 ` Ingo Molnar
2008-01-22 21:35 ` Harvey Harrison
2008-01-22 21:07 ` Harvey Harrison
[not found] ` <p73odbdlyiu.fsf@crumb.suse.de>
2008-01-23 11:21 ` Harvey Harrison
2008-01-23 20:52 ` [PATCH] x86: Construct 32 bit boot time page tables in native format Ian Campbell
2008-01-24 1:06 ` Jeremy Fitzhardinge
2008-01-24 9:39 ` Ian Campbell
2008-01-24 22:06 ` H. Peter Anvin
2008-01-24 22:35 ` Jeremy Fitzhardinge
2008-01-24 22:39 ` H. Peter Anvin
2008-01-24 22:58 ` Jeremy Fitzhardinge
2008-01-24 23:08 ` H. Peter Anvin
2008-01-24 23:40 ` Jeremy Fitzhardinge
2008-01-24 23:44 ` H. Peter Anvin
2008-01-24 23:51 ` Jeremy Fitzhardinge
2008-01-25 0:02 ` H. Peter Anvin
2008-01-25 0:11 ` Jeremy Fitzhardinge
2008-01-25 0:15 ` H. Peter Anvin
2008-01-25 0:31 ` Jeremy Fitzhardinge
2008-01-25 0:37 ` H. Peter Anvin
2008-01-25 2:56 ` Eric W. Biederman
2008-01-25 4:41 ` Jeremy Fitzhardinge
2008-01-25 11:07 ` Eric W. Biederman
2008-01-24 23:51 ` H. Peter Anvin
2008-01-25 0:20 ` Pavel Machek
2008-01-25 0:27 ` H. Peter Anvin
2008-01-25 0:46 ` Rafael J. Wysocki
2008-01-25 1:08 ` H. Peter Anvin
2008-01-25 2:16 ` Eric W. Biederman
2008-01-25 2:25 ` H. Peter Anvin
2008-01-25 7:49 ` Pavel Machek
2008-01-25 22:02 ` Rafael J. Wysocki
2008-01-25 22:11 ` Pavel Machek
2008-01-28 15:00 ` Ingo Molnar
2008-01-28 15:25 ` Rafael J. Wysocki
2008-01-28 19:40 ` Pavel Machek
2008-01-28 19:51 ` H. Peter Anvin
2008-01-28 20:03 ` Jeremy Fitzhardinge
2008-01-28 20:06 ` H. Peter Anvin
2008-01-28 20:28 ` Rafael J. Wysocki
2008-01-28 20:26 ` Rafael J. Wysocki
2008-01-28 20:31 ` H. Peter Anvin
2008-01-28 20:59 ` Rafael J. Wysocki
2008-01-28 20:44 ` Jeremy Fitzhardinge
2008-01-28 20:50 ` Rafael J. Wysocki
2008-01-28 21:28 ` H. Peter Anvin
2008-01-28 22:02 ` Rafael J. Wysocki
2008-01-28 16:12 ` Ingo Molnar
2008-01-28 17:02 ` Rafael J. Wysocki
2008-02-01 13:51 ` Ingo Molnar
2008-02-01 14:28 ` Rafael J. Wysocki
2008-02-01 14:54 ` Ingo Molnar
2008-02-01 22:55 ` Len Brown
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=1200951996.15491.28.camel@cthulhu.hellion.org.uk \
--to=ijc@hellion.org.uk \
--cc=ebiederm@xmission.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mika.penttila@kolumbus.fi \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
/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
all inboxes | Powered by JetHome®