From: john moser <bluefoxicy@linux.net>
To: linux-kernel@vger.kernel.org
Subject: Huge Pages, more efficient?
Date: Sun, 2 May 2004 23:10:20 -0700 (PDT) [thread overview]
Message-ID: <20040503061020.0D31A396F@sitemail.everyone.net> (raw)
Please CC me all replies.
Unless I miss my guess, huge (4MiB) pages and regular (4KiB) pages
can be intermixed. Is there some way that the kernel could use a
heuristic to detect when a range of VM pages is faulted accross
frequently, and can be made into a huge 4MiB page, and then
sacrifice the overhead to shift these pages together physically and
invalidate the 1024 old 4KiB pages in favor of the new 4MiB page?
Doing it this way would make huge pages out of ranges that had
loops accross their bounds and close-together small functions. It
would leave the faulting in overhead of pages that weren't really
useful as huge pages at the normal impact, while relieving the
constant faulting impact around page bound crossing loops and close
together functions.
Another neat trick to try would be to add onto this with a
heuristic which simply looks for faults accross an edge of the
huge pages and determines if these are more common than would-be
faults to the opposite end of the huge page if it were several
4KiB pages. This would allow the huge page to be panned accross
memory to adapt, with only the overhead of moving the adjacent
pages to the huge page.
I might note that the efficiency of this relies a lot on the
assumption that huge pages need to be page-aligned to a normal
page boundary and not a huge page boundary. The second idea
requires this condition to work; the first would work without
it, but would be more efficient if it were true.
Can anyone at least enlighten me as to if huge pages must be
4KiB page or 4MiB page aligned?
_____________________________________________________________
Linux.Net -->Open Source to everyone
Powered by Linare Corporation
http://www.linare.com/
reply other threads:[~2004-05-03 6:12 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20040503061020.0D31A396F@sitemail.everyone.net \
--to=bluefoxicy@linux.net \
--cc=linux-kernel@vger.kernel.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
all inboxes | Powered by JetHome®