From: Andrea Arcangeli <andrea@suse.de>
To: William Lee Irwin III <wli@holomorphy.com>,
Andrew Morton <akpm@osdl.org>,
nickpiggin@yahoo.com.au, tiwai@suse.de, 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: Fri, 25 Jun 2004 01:21:57 +0200 [thread overview]
Message-ID: <20040624232157.GD30687@dualathlon.random> (raw)
In-Reply-To: <20040624223750.GP21066@holomorphy.com>
On Thu, Jun 24, 2004 at 03:37:50PM -0700, William Lee Irwin III wrote:
> /*
> On Thu, Jun 24, 2004 at 02:54:41PM -0700, Andrew Morton wrote:
> >> First thing to do is to identify some workload which needs the patch.
>
> On Fri, Jun 25, 2004 at 12:21:50AM +0200, Andrea Arcangeli wrote:
> > that's quite trivial, boot a 2G box, malloc(1G), bzero(1GB), swapoff -a,
> > then the machine will lockup.
> > Depending on the architecture (more precisely depending if it starts
> > allocating ram from the end or from the start of the physical memory),
> > you may have to load 1G of data into pagecache first, like reading from
> > /dev/hda 1G (without closing the file) will work fine, then run the
> > above malloc + bzero + swapoff.
> > Most people will never report this because everybody has swap and they
> > simply run a lot slower than they could run if they didn't need to pass
> > through the swap device to relocate memory because memory would been allocated
> > in the right place in the first place. this plus the various oom killer
> > breakages that gets dominated by the nr_swap_pages > 0 check, are the
> > reasons 2.6 is unusable w/o swap.
>
> Have you tried with 2.6.7? The following program fails to trigger anything
I've definitely not tried 2.6.7 and I'm also reading a 2.6.5 codebase.
But you can sure trigger it if you run a big workload after the big
allocation.
> like what you've mentioned, though granted it was a 512MB allocation on
> a 1GB machine. swapoff(2) merely fails.
what you have to do is this:
1) swapoff -a (it must not fail!! it cannot fail if you run it first)
2) fill 130000K in pagecache, be very careful, not more than that, every
mbyte matters
3) run your program and allocate 904000K!!! (not 512M!!!)
then keep using the machine until it lockups because it cannot reloate
the anonymous memory from the 900M of lowmem to the 130M of highmem.
But really I said you need >=2G to have a realistic chance of seeing it.
So don't be alarmed you cannot reproduce on a 1G box by allocating 512M
and with swap still enabled, you had none of the conditions that make it
reproducible.
I reproduced this dozen of times so I know how to reproduce it very
well (amittedly not in 2.6 because nobody crashed on this yet).
next prev parent reply other threads:[~2004-06-24 23:22 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
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 [this message]
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=20040624232157.GD30687@dualathlon.random \
--to=andrea@suse.de \
--cc=ak@muc.de \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox