From: Andrea Arcangeli <andrea@suse.de>
To: William Lee Irwin III <wli@holomorphy.com>,
Nick Piggin <nickpiggin@yahoo.com.au>,
Takashi Iwai <tiwai@suse.de>, Andi Kleen <ak@suse.de>,
ak@muc.de, tripperda@nvidia.com, discuss@x86-64.org,
linux-kernel@vger.kernel.org
Subject: Re: [discuss] Re: 32-bit dma allocations on 64-bit platforms
Date: Thu, 24 Jun 2004 20:27:37 +0200 [thread overview]
Message-ID: <20040624182737.GT30687@dualathlon.random> (raw)
In-Reply-To: <20040624181311.GJ21066@holomorphy.com>
On Thu, Jun 24, 2004 at 11:13:11AM -0700, William Lee Irwin III wrote:
> This sounds like the more precise fix would be enforcing a stricter
> fallback criterion for pinned allocations. Pinned userspace would need
> zone migration if it's done selectively like this.
yes and "the stricter fallback criterion" is precisely called
lower_zone_reserve_ratio and it's included in the 2.4 mainline kernel
and this "stricter fallback criterion" doesn't exist in 2.6 yet.
I do apply it to non-pinned pages too because wasting tons of cpu in
memcopies for migration is a bad idea compared to reseving 900M of
absolutely critical lowmem ram on a 64G box. So I find the
pinned/unpinned parameter worthless and I apply "the stricter fallback
criterion" to all allocations in the same way, which is a lot simpler,
doesn't require substantial vm changes to allow migration of ptes,
anonymous and mlocked memory w/o passing through some swapcache and
without clearng ptes and most important I believe it's a lot more
efficient than migrating with bulk memcopies. Even on a big x86-64
dealing with the migration complexity is worthless, reserving the full
16M of dma zone makes a lot more sense.
The lower_zone_reserve_ratio algorithm scales back to the size of the
zones automatically autotuned at boot time and the balance-setting are in
functions of the imbalances found at boot time. That's the fundamental
difference with the sysctl that is fixed, for all zones, and it has no
clue on the size of the zones etc...
So in short with little ram installed it will be like mainline 2.6, with
tons of ram installed it will make an huge difference and it will
reserve up to _whole_ classzones to the users that cannot use the higher
zones, but 16M on a 16G box is nothing so nobody will notice any
regression anyways, only the befits will be noticeable in the otherwise
unsolvable corner cases (yeah, you could try to migrate ptes and other
stuff to solve them but that's incredibily inefficient compared to
throwing 16M or 800M at the problem on respectively 16G or 64G machines,
etc..).
the number aren't math exact with the 2.4 code, but you get an idea of
the order of magnitude.
BTW, I think I'm not the only VM guy who agrees this algo is needed,
For istance I recall Rik once included the lower_zone_reserve_ratio
patch in one of his 2.4 patches too.
next prev parent reply other threads:[~2004-06-24 18:27 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <m3acyu6pwd.fsf@averell.firstfloor.org>
[not found] ` <20040623213643.GB32456@hygelac>
2004-06-23 23:46 ` 32-bit dma allocations on 64-bit platforms Andi Kleen
2004-06-24 11:13 ` Takashi Iwai
2004-06-24 11:29 ` [discuss] " Andi Kleen
2004-06-24 14:36 ` Takashi Iwai
2004-06-24 14:42 ` Andi Kleen
2004-06-24 14:58 ` Takashi Iwai
2004-06-24 15:29 ` Andrea Arcangeli
2004-06-24 15:48 ` Nick Piggin
2004-06-24 16:52 ` Andrea Arcangeli
2004-06-24 16:56 ` William Lee Irwin III
2004-06-24 17:32 ` Andrea Arcangeli
2004-06-24 17:38 ` William Lee Irwin III
2004-06-24 18:02 ` Andrea Arcangeli
2004-06-24 18:13 ` William Lee Irwin III
2004-06-24 18:27 ` Andrea Arcangeli [this message]
2004-06-24 18:50 ` William Lee Irwin III
2004-06-24 21:54 ` Andrew Morton
2004-06-24 22:08 ` William Lee Irwin III
2004-06-24 22:45 ` Andrea Arcangeli
2004-06-24 22:51 ` William Lee Irwin III
2004-06-24 23:09 ` Andrew Morton
2004-06-24 23:15 ` William Lee Irwin III
2004-06-25 6:16 ` William Lee Irwin III
2004-06-25 2:39 ` Andrea Arcangeli
2004-06-25 2:47 ` Andrew Morton
2004-06-25 3:19 ` Andrea Arcangeli
2004-06-24 22:11 ` Andrew Morton
2004-06-24 23:09 ` Andrea Arcangeli
2004-06-25 1:17 ` Nick Piggin
2004-06-25 3:11 ` Andrea Arcangeli
2004-06-24 22:21 ` Andrea Arcangeli
2004-06-24 22:36 ` Andrew Morton
2004-06-24 23:15 ` Andrea Arcangeli
2004-06-24 22:37 ` William Lee Irwin III
2004-06-24 22:40 ` William Lee Irwin III
2004-06-24 23:21 ` Andrea Arcangeli
2004-06-24 23:45 ` William Lee Irwin III
2004-06-24 17:39 ` Andrea Arcangeli
2004-06-24 17:53 ` William Lee Irwin III
2004-06-24 18:07 ` Andrea Arcangeli
2004-06-24 18:29 ` William Lee Irwin III
2004-06-24 16:04 ` Takashi Iwai
2004-06-24 17:16 ` Andrea Arcangeli
2004-06-24 18:33 ` Takashi Iwai
2004-06-24 18:44 ` Andrea Arcangeli
2004-06-25 15:50 ` Takashi Iwai
2004-06-25 17:30 ` Andrea Arcangeli
2004-06-25 17:39 ` Takashi Iwai
2004-06-25 17:45 ` Andrea Arcangeli
2004-06-24 14:45 ` Terence Ripperda
2004-06-24 15:41 ` Andrea Arcangeli
2004-06-24 15:44 ` Terence Ripperda
2004-06-24 16:15 ` [discuss] " Andi Kleen
2004-06-24 17:22 ` Andrea Arcangeli
2004-06-24 22:28 ` Terence Ripperda
2004-06-24 18:51 ` Andi Kleen
2004-06-26 4:58 ` David Mosberger
2004-06-24 13:48 Jesse Barnes
2004-06-24 14:39 ` Terence Ripperda
2004-06-24 15:01 ` [discuss] " Andi Kleen
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=20040624182737.GT30687@dualathlon.random \
--to=andrea@suse.de \
--cc=ak@muc.de \
--cc=ak@suse.de \
--cc=discuss@x86-64.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--cc=tiwai@suse.de \
--cc=tripperda@nvidia.com \
--cc=wli@holomorphy.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 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.