From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Jan Beulich <jbeulich@novell.com>,
Glauber de Oliveira Costa <glommer@gmail.com>
Subject: Re: [PATCH 2/4] x86: unify pgtable*.h
Date: Fri, 14 Dec 2007 07:50:24 -0800 [thread overview]
Message-ID: <4762A640.2050600@goop.org> (raw)
In-Reply-To: <20071214093715.GB11266@elte.hu>
Ingo Molnar wrote:
> * Jeremy Fitzhardinge <jeremy@goop.org> wrote:
>
>
>> All x86 modes and architectures have very similar pagetable
>> structures: the page flags, the accessors for testing/setting them,
>> and the combinations of page flags used for kernel and usermode
>> mappings are all the same. The main difference is between 32 and
>> 64-bit pagetable entries, with the latter supporting the NX bit.
>>
>> The most significant difference between the modes/architectures is the
>> number of levels in the pagetable (4 for 64-bit, 3 for 32-bit/PAE, 2
>> for non-PAE 32-bit). This accounts for the remaining code in the
>> various mode-specific headers.
>>
>> I've tried to avoid changing formatting as much as possible, so that
>> the code motion is more obvious. A subsequent patch will clean things
>> up in place.
>>
>
> the dreaded auto-qa - this patch fails to build:
>
> arch/x86/mm/init_32.c: In function 'mark_rodata_ro':
> arch/x86/mm/init_32.c:811: error: 'PAGE_KERNEL_RX' undeclared (first use in this function)
> arch/x86/mm/init_32.c:811: error: (Each undeclared identifier is reported only once
> arch/x86/mm/init_32.c:811: error: for each function it appears in.)
> make[1]: *** [arch/x86/mm/init_32.o] Error 1
>
Sigh. Shouldn't be too hard to deal with.
> config attached. I'll skip this series of your patches for now. I'd
> expect this to be one of the hardest areas to unify - it's one of the
> areas with the largest amount of arbitrary deviations between 32-bit and
> 64-bit and these include files permeate everything.
>
Yeah, it's been great fun :(. On the other hand, I think its getting
there; the interactions between the various headers is getting more
comprehensible, and moving to a consistent use of inline functions
rather than a mixture of macros and inlines is making things more
deterministic.
> ( In case you are thinking about approaching this differently, i'd
> suggest a strategy that doesnt just try to unify the whole kit at once
> but does it with very small steps where each step is trivially
> verifyable. 50 small patches are generally a lot easier to create than
> 5 big patches. [ Of course if you can do 5 perfect patches that's just
> as good :-) ] )
>
Yeah, I tried doing it in smaller pieces, but its fairly difficult just
because its all so inter-tangled. But I think its close now.
J
prev parent reply other threads:[~2007-12-14 15:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-14 8:12 [PATCH 2/4] x86: unify pgtable*.h Jeremy Fitzhardinge
2007-12-14 9:37 ` Ingo Molnar
2007-12-14 15:50 ` Jeremy Fitzhardinge [this message]
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=4762A640.2050600@goop.org \
--to=jeremy@goop.org \
--cc=glommer@gmail.com \
--cc=jbeulich@novell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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.