linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Hugh Dickins <hugh@veritas.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Linux Memory Management <linux-mm@kvack.org>,
	Andi Kleen <ak@suse.de>, Linus Torvalds <torvalds@osdl.org>,
	Andrew Morton <akpm@osdl.org>
Subject: Re: [RFC][PATCH 0/10] alternate 4-level page tables patches
Date: Sun, 19 Dec 2004 00:07:34 +0000 (GMT)	[thread overview]
Message-ID: <Pine.LNX.4.44.0412182338040.13356-100000@localhost.localdomain> (raw)
In-Reply-To: <41C3D453.4040208@yahoo.com.au>

On Sat, 18 Dec 2004, Nick Piggin wrote:
> 
> Apologies for not making progress on this done sooner, but better late than never.
> 
> First off - don't let all the signed-off-by: things fool you, I'm only intending
> this for comments, not merging. I just spent a bit of time getting the descriptions
> in better shape.
> 
> Second - much of it is Andi's code (especially 4 level core, and x86-64 stuff).
> If any attributions aren't quite accurate at this stage, don't worry too much!
> 
> 
> Anyway, although we have a working 4-level page tables implementation, I am keeping
> with this because my personal taste preference. Not that it is anything against
> Andi's taste or technical implementation... but I wouldn't like progress to be held
> up on account of me, so I wouldn't be too upset to forget about this until 2.7 (or
> for ever)... /end disclaimer
> 
> Well, the patches follow. Tested lightly on i386 32 and 36 bits, ia64, and x86-64
> with full 4 levels.
> 
> Comments?

I had been sceptical whether it's now worth a revised implementation.
But these look like good tasteful patches to me, nicely split up.

In all they will amount to more change than Andi's original version -
partly because of the de-pml4-ing in x86_64, but more because of the
genericizing of nopmd and then nopud - but that's worthwhile.
The changes seem to be the ones which ought to be in there.

I think Andi's work has benefitted from having
your eye and hand go over it for a second round.

> A bit of an aside: I was hoping to have a page table folding implementation that is
> basically transparent to architectures. That is, a 3-level arch could just include
> some generic header to fold the 4th level, and call it a day (without any other mods
> to arch/?/* or include/asm-?/*).
> 
> The reality is, this isn't going to happen with our current semantics. It probably
> isn't a really big deal though, because I don't expect we'd have to support a 5
> level implementation any time soon. But it is something I'd like to explore further.
> 
> I'll illustrate with an example: in the current setup, if the pmd is folded into
> the pgd, pgd_present is always true, and pmd_present is what actually examines the
> entry in the pgd. Now clearly, the architecture has to implement pmd_present, which
> is pgd_present in a 2-level setup.
> 
> I would like to change that so pgd_present really does check the actual pgd entry,
> and pmd_present is unconditionally true. IMO this would work better and be less
> confusing than the current setup... but that's getting off topic...

Thanks for going into that.  Of course I'm disappointed, I had
been hoping that pud would obviate the need for immediate change
in all the arches.  But I trust your explanation for why not, and
after several readings I think I'm beginning to understand it!

My vote is for you (with arch assistants) to extend this work to the
other arches, and these patches to replace the current 4level patches
in -mm.  But what does Andi think - are those "inline"s his only dissent?

Hugh

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>

  parent reply	other threads:[~2004-12-19  0:07 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-18  6:55 Nick Piggin
2004-12-18  6:55 ` [PATCH 1/10] " Nick Piggin
2004-12-18  6:56   ` [PATCH 2/10] " Nick Piggin
2004-12-18  6:56     ` [PATCH 3/10] " Nick Piggin
2004-12-18  6:57       ` [PATCH 4/10] " Nick Piggin
2004-12-18  6:58         ` [PATCH 5/10] " Nick Piggin
2004-12-18  6:58           ` [PATCH 6/10] " Nick Piggin
2004-12-18  6:59             ` [PATCH 7/10] " Nick Piggin
2004-12-18  7:00               ` [PATCH 8/10] " Nick Piggin
2004-12-18  7:00                 ` [PATCH 9/10] " Nick Piggin
2004-12-18  7:01                   ` [PATCH 10/10] " Nick Piggin
2004-12-18  7:31                     ` Andi Kleen
2004-12-18  7:46                       ` Nick Piggin
2004-12-18  8:08                       ` Andrew Morton
2004-12-18  9:48                         ` Andi Kleen
2004-12-18 19:06                       ` Linus Torvalds
2004-12-20 17:43                         ` Andi Kleen
2004-12-20 17:47                           ` Randy.Dunlap
2004-12-20 18:08                           ` Linus Torvalds
2004-12-20 18:15                             ` Linus Torvalds
2004-12-20 18:19                             ` Andi Kleen
2004-12-20 18:47                               ` Linus Torvalds
2004-12-20 18:52                                 ` Linus Torvalds
2004-12-20 18:59                                 ` Andi Kleen
2004-12-20 18:57                                   ` Randy.Dunlap
2004-12-18  9:05         ` [PATCH 4/10] " Nick Piggin
2004-12-18  9:50           ` Andi Kleen
2004-12-18 10:06             ` Nick Piggin
2004-12-18 10:11               ` Andi Kleen
2004-12-18 10:22               ` Nick Piggin
2004-12-18 10:29                 ` Nick Piggin
2004-12-18 11:06               ` William Lee Irwin III
2004-12-18 11:17                 ` Nick Piggin
2004-12-18 11:32                   ` William Lee Irwin III
2004-12-18 11:55                     ` Nick Piggin
2004-12-18 12:46                       ` William Lee Irwin III
2004-12-18 12:48                         ` William Lee Irwin III
2004-12-19  0:05                         ` Nick Piggin
2004-12-19  0:20                           ` William Lee Irwin III
2004-12-19  0:38                             ` Nick Piggin
2004-12-19  1:01                               ` William Lee Irwin III
2004-12-19  1:31                             ` Linus Torvalds
2004-12-19  2:08                               ` William Lee Irwin III
2004-12-19  2:26                                 ` Nick Piggin
2004-12-19  5:23                                 ` Linus Torvalds
2004-12-19  6:02                                   ` William Lee Irwin III
2004-12-19 18:17                                     ` Linus Torvalds
2004-12-20  1:00                                       ` William Lee Irwin III
2004-12-18 10:45         ` William Lee Irwin III
2004-12-18 10:58           ` Nick Piggin
2004-12-19  0:07 ` Hugh Dickins [this message]
2004-12-19  0:33   ` [RFC][PATCH 0/10] " Nick Piggin
2004-12-20 18:04   ` Andi Kleen
2004-12-20 18:40     ` Linus Torvalds
2004-12-20 18:53       ` Andi Kleen
2004-12-21  0:04         ` Linus Torvalds
2004-12-21  0:22           ` Andi Kleen
2004-12-21  0:43             ` Linus Torvalds
2004-12-21  0:47             ` Nick Piggin
2004-12-21  2:55               ` Hugh Dickins
2004-12-21  3:21                 ` Nick Piggin
2004-12-21  3:47                 ` Linus Torvalds
2004-12-21  3:56                   ` Linus Torvalds
2004-12-21  4:04                     ` Nick Piggin
2004-12-21  4:08                       ` Nick Piggin
2004-12-21  9:36                     ` Andi Kleen
2004-12-21 10:13                       ` Hugh Dickins
2004-12-21 10:59                       ` Nick Piggin
2004-12-21 17:36                       ` Linus Torvalds
2004-12-21 20:19                         ` Andi Kleen
2004-12-21 23:49                           ` Nick Piggin
2004-12-22 10:38                             ` Andi Kleen
2004-12-22 11:19                               ` Nick Piggin
2004-12-22 11:23                                 ` Nick Piggin
2004-12-22 18:07                                 ` Andi Kleen
2004-12-30 21:24                                   ` Nick Piggin
2004-12-21 10:52                     ` Nick Piggin

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=Pine.LNX.4.44.0412182338040.13356-100000@localhost.localdomain \
    --to=hugh@veritas.com \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=linux-mm@kvack.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=torvalds@osdl.org \
    /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