From: William Lee Irwin III <wli@holomorphy.com>
To: Hubertus Franke <frankeh@watson.ibm.com>
Cc: Linus Torvalds <torvalds@transmeta.com>,
"David S. Miller" <davem@redhat.com>,
davidm@hpl.hp.com, davidm@napali.hpl.hp.com, gh@us.ibm.com,
Martin.Bligh@us.ibm.com, linux-kernel@vger.kernel.org
Subject: Re: large page patch (fwd) (fwd)
Date: Sun, 4 Aug 2002 13:23:22 -0700 [thread overview]
Message-ID: <20020804202322.GA4020@holomorphy.com> (raw)
In-Reply-To: <200208041530.24661.frankeh@watson.ibm.com>
On Sun, Aug 04, 2002 at 03:30:24PM -0400, Hubertus Franke wrote:
> As long as the alignments are observed, which you I guess imply by the range.
On Sunday 04 August 2002 02:38 pm, Linus Torvalds wrote:
>> If the order-X allocation fails, we're likely low on memory (this is
>> _especially_ true since the very fact that we do lots of order-X
>> allocations will probably actually help keep fragementation down
>> normally), and we just allocate one page (with a regular GFP_USER this
>> time).
Later on I can redo one of the various online defragmentation things
that went around last October or so if it would help with this.
On Sunday 04 August 2002 02:38 pm, Linus Torvalds wrote:
>> Map in all pages.
>> - do the same for page_cache_readahead() (this, btw, is where radix trees
>> will kick some serious ass - we'd have had a hard time doing the "is
>> this range of order-X pages populated" efficiently with the old hashes.
On Sun, Aug 04, 2002 at 03:30:24PM -0400, Hubertus Franke wrote:
> Hey, we use the radix tree to track page cache mappings for large pages
> particularly for this reason...
Proportion of radix tree populated beneath a given node can be computed
by means of traversals adding up ->count or by incrementally maintaining
a secondary counter for ancestors within the radix tree node. I can look
into this when I go over the path compression heuristics, which would
help the space consumption for access patterns fooling the current one.
Getting physical contiguity out of that is another matter, but the code
can be used for other things (e.g. exec()-time prefaulting) until that's
worked out, and it's not a focus or requirement of this code anyway.
On Sunday 04 August 2002 02:38 pm, Linus Torvalds wrote:
>> I bet just those fairly small changes will give you effective coloring,
>> _and_ they are also what you want for doing small superpages.
On Sun, Aug 04, 2002 at 03:30:24PM -0400, Hubertus Franke wrote:
> The HW TLB case can be extended to not store the same PA in all the PTEs,
> but conceptually carry the superpage concept for the purpose described above.
Pagetable walking gets a tiny hook, not much interesting goes on there.
A specialized wrapper for extracting physical pfn's from the pmd's like
the one for testing whether they're terminal nodes might look more
polished, but that's mostly cosmetic.
Hmm, from looking at the "small" vs. "large" page bits, I have an
inkling this may be relative to the machine size. 256GB boxen will
probably think of 4MB pages as small.
On Sun, Aug 04, 2002 at 03:30:24PM -0400, Hubertus Franke wrote:
> But to go down this route we need the concept of a superpage in the VM,
> not just at TLB time or a hack that throws these things over the fence.
The bit throwing it over the fence is probably still useful, as Oracle
knows what it's doing and I suspect it's largely to dodge pagetable
space consumption OOM'ing machines as opposed to optimizing anything.
It pretty much wants the kernel out of the way aside from as a big bag
of device drivers, so I'm not surprised they're more than happy to have
the MMU in their hands too. The more I think about it, the less related
to superpages it seems. The motive for superpages is 100% TLB, not a
workaround for pagetable OOM.
Cheers,
Bill
next prev parent reply other threads:[~2002-08-04 20:23 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E17ahdi-0001RC-00@w-gerrit2>
2002-08-02 19:34 ` large page patch (fwd) (fwd) Linus Torvalds
2002-08-03 3:19 ` David Mosberger
2002-08-03 3:32 ` Linus Torvalds
2002-08-03 4:17 ` David Mosberger
2002-08-03 4:26 ` Linus Torvalds
2002-08-03 4:39 ` David Mosberger
2002-08-03 5:20 ` David S. Miller
2002-08-03 17:35 ` Linus Torvalds
2002-08-03 19:30 ` David Mosberger
2002-08-03 19:43 ` Linus Torvalds
2002-08-03 21:18 ` David Mosberger
2002-08-03 21:54 ` Hubertus Franke
2002-08-04 0:35 ` David S. Miller
2002-08-04 2:25 ` David Mosberger
2002-08-04 17:19 ` Hubertus Franke
2002-08-09 15:20 ` Daniel Phillips
2002-08-09 15:56 ` Linus Torvalds
2002-08-09 16:15 ` Daniel Phillips
2002-08-09 16:31 ` Rik van Riel
2002-08-09 18:08 ` Daniel Phillips
2002-08-09 16:51 ` Linus Torvalds
2002-08-09 17:11 ` Daniel Phillips
2002-08-09 16:27 ` Rik van Riel
2002-08-09 16:52 ` Linus Torvalds
2002-08-09 17:40 ` yodaiken
2002-08-09 19:15 ` Rik van Riel
2002-08-09 21:20 ` Linus Torvalds
2002-08-09 21:19 ` Marcin Dalecki
2002-08-09 17:46 ` Bill Rugolsky Jr.
2002-08-12 9:23 ` Helge Hafting
2002-08-13 3:15 ` Bill Davidsen
2002-08-13 3:31 ` Rik van Riel
2002-08-13 7:28 ` Helge Hafting
2002-08-09 21:38 ` Andrew Morton
2002-08-10 18:20 ` Eric W. Biederman
2002-08-10 18:59 ` Daniel Phillips
2002-08-10 19:55 ` Rik van Riel
2002-08-10 19:54 ` Eric W. Biederman
2002-08-09 18:32 ` Hubertus Franke
2002-08-09 18:43 ` Daniel Phillips
2002-08-09 19:17 ` Hubertus Franke
2002-08-11 20:30 ` Alan Cox
2002-08-11 22:33 ` Daniel Phillips
2002-08-11 22:55 ` Linus Torvalds
2002-08-11 22:56 ` Linus Torvalds
2002-08-11 23:36 ` William Lee Irwin III
2002-08-12 0:46 ` Alan Cox
2002-08-11 23:42 ` Rik van Riel
2002-08-11 23:50 ` Larry McVoy
2002-08-12 8:22 ` Daniel Phillips
2002-08-13 8:40 ` Rob Landley
2002-08-13 15:06 ` Alan Cox
2002-08-13 11:36 ` Rob Landley
2002-08-13 16:51 ` Linus Torvalds
2002-08-13 12:53 ` Rob Landley
2002-08-13 17:14 ` Ruth Ivimey-Cook
2002-08-13 17:29 ` Rik van Riel
2002-08-13 13:18 ` Rob Landley
2002-08-13 18:32 ` Linus Torvalds
2002-08-13 13:50 ` Rob Landley
2002-08-13 17:45 ` Alexander Viro
2002-08-13 17:55 ` Linus Torvalds
2002-08-13 17:59 ` Rik van Riel
2002-08-13 13:35 ` Rob Landley
2002-08-13 19:12 ` Daniel Phillips
2002-08-22 12:03 ` bill davidsen
[not found] ` <Pine.LNX.4.44.0208130942130.7411-100000@home.transmeta.com >
2002-08-13 18:46 ` large page patch (fwd) Mike Galbraith
2002-08-11 23:44 ` large page patch (fwd) (fwd) Daniel Phillips
2002-08-13 8:51 ` Rob Landley
2002-08-13 16:47 ` Daniel Phillips
2002-08-13 13:09 ` Rob Landley
2002-08-11 23:15 ` Larry McVoy
2002-08-12 1:26 ` Linus Torvalds
2002-08-12 5:05 ` Larry McVoy
2002-08-12 10:31 ` Alan Cox
2002-08-04 0:28 ` David S. Miller
2002-08-04 17:31 ` Hubertus Franke
2002-08-04 18:38 ` Linus Torvalds
2002-08-04 19:23 ` Andrew Morton
2002-08-04 19:28 ` Linus Torvalds
2002-08-05 5:42 ` David S. Miller
2002-08-04 19:30 ` Hubertus Franke
2002-08-04 20:23 ` William Lee Irwin III [this message]
2002-08-05 16:59 ` David Mosberger
2002-08-05 17:21 ` Hubertus Franke
2002-08-05 21:10 ` Jamie Lokier
2002-08-04 19:41 ` Rik van Riel
2002-08-05 5:40 ` David S. Miller
2002-08-03 18:41 ` Hubertus Franke
2002-08-03 19:39 ` Linus Torvalds
2002-08-04 0:32 ` David S. Miller
2002-08-03 19:41 ` David Mosberger
2002-08-03 20:53 ` Hubertus Franke
2002-08-03 21:26 ` David Mosberger
2002-08-03 21:50 ` Hubertus Franke
2002-08-04 0:34 ` David S. Miller
2002-08-04 0:31 ` David S. Miller
2002-08-04 17:25 ` Hubertus Franke
[not found] <200208041331.24895.frankeh@watson.ibm.com.suse.lists.linux.kernel>
[not found] ` <Pine.LNX.4.44.0208041131380.10314-100000@home.transmeta.com.suse.lists.linux.kernel>
[not found] ` <3D4D7F24.10AC4BDB@zip.com.au.suse.lists.linux.kernel>
2002-08-04 20:20 ` Andi Kleen
2002-08-04 23:51 ` Eric W. Biederman
2002-08-05 23:30 Seth, Rohit
2002-08-06 5:01 ` David Mosberger
2002-08-06 4:58 ` David S. Miller
2002-08-06 5:19 ` David Mosberger
2002-08-06 5:08 ` David S. Miller
2002-08-06 5:32 ` David Mosberger
2002-08-06 19:11 ` Hubertus Franke
-- strict thread matches above, loose matches on Subject: below --
2002-08-06 20:38 Luck, Tony
2002-08-06 21:03 ` Hubertus Franke
2002-08-09 17:51 Seth, Rohit
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=20020804202322.GA4020@holomorphy.com \
--to=wli@holomorphy.com \
--cc=Martin.Bligh@us.ibm.com \
--cc=davem@redhat.com \
--cc=davidm@hpl.hp.com \
--cc=davidm@napali.hpl.hp.com \
--cc=frankeh@watson.ibm.com \
--cc=gh@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.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