From: Andrea Arcangeli <andrea@suse.de>
To: Rik van Riel <riel@redhat.com>
Cc: Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org, Robert_Hentosh@Dell.com,
Con Kolivas <kernel@kolivas.org>
Subject: Re: [PATCH][1/2] adjust dirty threshold for lowmem-only mappings
Date: Sat, 25 Dec 2004 19:36:29 +0100 [thread overview]
Message-ID: <20041225183629.GV13747@dualathlon.random> (raw)
In-Reply-To: <Pine.LNX.4.61.0412251253090.18130@chimarrao.boston.redhat.com>
On Sat, Dec 25, 2004 at 12:59:10PM -0500, Rik van Riel wrote:
> 4) any memory that could be affected by the swap token (process
> text, data, stack, ...) is allocated with __GFP_HIGHMEM, so
> that all lives in the highmem zone with 2.5GB free
> 5) since dd is not being paged out at all, and can dirty memory
> without limit, the VM gets backed into a corner and will
> trigger an OOM kill - even though most of lowmem is simply
> dirty page cache
This shouldn't happen of course, and it's a bit hard to see how can it
work fine for 23 hours and break at the 24th hour since it's quite a
repetitive algorithm. (sure it could be a race or the algorithm being
very fragile, but I can't reproduce problems here)
Plus doing cp /dev/zero . should be even worse since it also fills up
the highmem.
Are you sure cron isn't spawning something big?
Anyway my point is that swap-token is _proven_ to trigger suprious oom
kills, so if you could just reproduce once with Con's patch applied and
default sysctl value, then you would provide the proof it's unrelated.
I agree with your reasoning, I think you're right, but I'd like to be
sure we're not missing something. There are definitely other reports
where the ignore-token patch wasn't enough and Con's patch fixed it.
I also recommend you to keep vmstat in the background, in my experience
swap token was filling all swap with freeable swapcache (but it wasn't
freeable due the referenced ++ that swap-token does), and then the oom
killer was invoked despite all that freeable swapcache.
So on a computer that had plenty of lowmem and highmem free, in seconds
it would run out of memory with all swap allocated.
I agree dd shouldn't be enough, but the 1 day variable may be just some
big cron task that we didn't put into the equation.
So I still would like to see a `vmstat 1` before/after the killing, and
to hear the confirmation that Con's patch doesn't help.
The only thing I can imagine being wrong with `cp /dev/zero /dev/sd?`
while working fine on `cp /dev/zero .`, are the write throttling levels
that might be taking highmem into account while they really cannot take
highmem into account, I mean nr_free_buffer_pages must be used by the
write throttling and not nr_free_pages, but I'd be surprised if this
wasn't correct. You may want to check this bit just in case. If this is
correct then doing cp /dev/zero . should fail too, no? I for sure can't
reproduce here, and by your same arguments about the highmem levels, it
shouldn't matter how much ram I have (I've 1G). The less ram I have, the
worse it should behave.
Without more data and without being able to reproduce I can't be more
helpful than this.
Thanks.
next prev parent reply other threads:[~2004-12-25 18:37 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-20 15:15 [PATCH][1/2] adjust dirty threshold for lowmem-only mappings Rik van Riel
2004-12-20 15:23 ` Rik van Riel
2004-12-20 20:54 ` Andrew Morton
2004-12-20 21:27 ` Rik van Riel
2004-12-23 19:21 ` Rik van Riel
2004-12-24 16:01 ` Andrea Arcangeli
2004-12-24 16:22 ` Rik van Riel
2004-12-24 16:40 ` Andrea Arcangeli
2004-12-24 22:12 ` Rik van Riel
2004-12-25 2:07 ` Andrea Arcangeli
2004-12-25 17:59 ` Rik van Riel
2004-12-25 18:36 ` Andrea Arcangeli [this message]
2004-12-25 19:07 ` William Lee Irwin III
2004-12-25 20:03 ` Andrea Arcangeli
2004-12-26 3:07 ` William Lee Irwin III
2005-01-02 16:10 ` Andrea Arcangeli
2005-01-02 16:36 ` William Lee Irwin III
2005-01-02 16:53 ` Rik van Riel
2005-01-02 17:21 ` Andrea Arcangeli
2004-12-25 22:03 ` Nikita Danilov
2004-12-26 3:16 ` William Lee Irwin III
2005-01-02 15:11 ` Jens Axboe
2005-01-02 16:18 ` Andrea Arcangeli
2005-01-02 20:03 ` Andrew Morton
2005-01-02 20:25 ` William Lee Irwin III
-- strict thread matches above, loose matches on Subject: below --
2004-12-20 16:46 Robert_Hentosh
2004-12-20 17:56 ` Sami Farin
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=20041225183629.GV13747@dualathlon.random \
--to=andrea@suse.de \
--cc=Robert_Hentosh@Dell.com \
--cc=akpm@osdl.org \
--cc=kernel@kolivas.org \
--cc=linux-kernel@vger.kernel.org \
--cc=riel@redhat.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.