From: William Lee Irwin III <wli@holomorphy.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: mfedyk@matchmail.com, "Eric W. Biederman" <ebiederm@xmission.com>,
Anton Ertl <anton@mips.complang.tuwien.ac.at>,
Kernel Mailing List <linux-kernel@vger.kernel.org>,
phillips@arcor.de
Subject: Re: Page Colouring (was: 2.6.0 Huge pages not working as expected)
Date: Mon, 29 Dec 2003 02:23:19 -0800 [thread overview]
Message-ID: <20031229102319.GW22443@holomorphy.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0312290129510.11299@home.osdl.org>
On Mon, 29 Dec 2003, William Lee Irwin III wrote:
>> I can't say I'm particularly encouraged by what I've heard thus far,
On Mon, Dec 29, 2003 at 01:33:53AM -0800, Linus Torvalds wrote:
> Well, I don't even know what your approach is - mind giving an overview?
> My original plan (and you can see some of it in the fact that
> PAGE_CACHE_SIZE is separate from PAGE_SIZE), was to just have the page
> cache be able to use bigger pages than the "normal" pages, and the
> normal pages would continue to be the hardware page size.
> However, especially with mem_map[] becoming something of a problem, and
> all the problems we'd have if PAGE_SIZE and PAGE_CACHE_SIZE were
> different, I suspect I'd just be happier with increasing PAGE_SIZE
> altogether (and PAGE_CACHE_SIZE with it), and then just teaching the VM
> mapping about "fractional pages".
> What's your approach?
Hmm, I presented on this at KS. Basically, it's identical to Hugh
Dickins' approach from 2000. The only difference is really that it had
to be forward ported (or unfortunately in too many cases reimplemented)
to mix with current code and features.
Basically, elevate PAGE_SIZE, introduce MMUPAGE_SIZE to be a nice macro
representing the hardware pagesize, and the fault handling is done with
some relatively localized complexity. Numerous s/PAGE_SIZE/MMUPAGE_SIZE/
bits are sprinkled around, along with a few more involved changes because
a large number of distributed changes are required to handle oddities
that occur when PAGE_SIZE changes from 4KB. The more involved changes
are often for things such as the only reason it uses PAGE_SIZE is
really that it just expects 4KB and says PAGE_SIZE, or that it wants
some fixed (even across compiles) size and needs updating for more
general PAGE_SIZE numbers, or sometimes that it expects PAGE_SIZE to be
what a pte maps when this is now represented by MMUPAGE_SIZE. I have a
bad feeling the diligence of the original code audit could be bearing
against me (and though I'm trying to be equally diligent, I'm not hugh).
The fact merely elevating PAGE_SIZE breaks numerous things makes me
rather suspicious of claims that minimalistic patches can do likewise.
The only new infrastructures introduced are the MMUPAGE_SIZE and a couple
of related macros (defining numbers, not structures or code) and the
fault handler implementations. The diff size is not small. The memory
footprint is, and demonstrably so (c.f. March 27 2003).
My 2.6 code has been heavily leveraging the pfn abstraction in its favor
to represent physical addresses measured in units of the hardware
pagesize. Generally, my maintenance approach has been incrementally
advancing the state of the thing while keeping it working on as broad a
cross section of i386 systems as I can test or get testers on. It has
been verified to run userspace on Thinkpad T21's and 16x/32GB and
32x/64GB NUMA-Q's at every point release it's been ported to, which
since 2.5.68 or so has been every point release coming out of kernel.org.
-- wli
next prev parent reply other threads:[~2003-12-29 10:23 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <179fV-1iK-23@gated-at.bofh.it>
[not found] ` <179IS-1VD-13@gated-at.bofh.it>
2003-12-27 20:21 ` Page Colouring (was: 2.6.0 Huge pages not working as expected) Anton Ertl
2003-12-27 20:56 ` Linus Torvalds
2003-12-27 23:31 ` Eric W. Biederman
2003-12-27 23:50 ` William Lee Irwin III
2003-12-28 1:09 ` David S. Miller
2003-12-28 4:53 ` Linus Torvalds
2003-12-28 16:39 ` William Lee Irwin III
2003-12-29 0:36 ` Mike Fedyk
2003-12-29 2:55 ` William Lee Irwin III
2003-12-29 4:09 ` Linus Torvalds
2003-12-29 6:52 ` William Lee Irwin III
2003-12-29 9:14 ` Linus Torvalds
2003-12-29 9:22 ` William Lee Irwin III
2003-12-29 9:33 ` Linus Torvalds
2003-12-29 10:23 ` William Lee Irwin III [this message]
2003-12-29 10:59 ` Mike Fedyk
2003-12-29 11:14 ` William Lee Irwin III
2003-12-30 2:00 ` Rusty Russell
2003-12-30 4:59 ` William Lee Irwin III
[not found] ` <20031229084304.GA31630@elte.hu>
2003-12-29 12:09 ` Ingo Molnar
2003-12-29 12:49 ` William Lee Irwin III
2003-12-29 20:02 ` Subpages (was: Page Colouring) Daniel Phillips
2003-12-29 20:15 ` Linus Torvalds
2003-12-29 21:11 ` Page Colouring (was: 2.6.0 Huge pages not working as expected) Eric W. Biederman
2003-12-29 21:35 ` Linus Torvalds
[not found] ` <17tHK-3K6-21@gated-at.bofh.it>
2003-12-28 17:17 ` Anton Ertl
[not found] <176UD-6vl-3@gated-at.bofh.it>
2003-12-26 21:48 ` Anton Ertl
2003-12-26 23:28 ` Linus Torvalds
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=20031229102319.GW22443@holomorphy.com \
--to=wli@holomorphy.com \
--cc=anton@mips.complang.tuwien.ac.at \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mfedyk@matchmail.com \
--cc=phillips@arcor.de \
--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