From: Rik van Riel <riel@conectiva.com.br>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Hugh Dickins <hugh@veritas.com>,
Marcelo Tosatti <marcelo@conectiva.com.br>,
linux-mm@kvack.org
Subject: Re: 0-order allocation problem
Date: Wed, 15 Aug 2001 19:15:46 -0300 (BRST) [thread overview]
Message-ID: <Pine.LNX.4.33L.0108151908330.5646-100000@imladris.rielhome.conectiva> (raw)
In-Reply-To: <Pine.LNX.4.33.0108151304340.2714-100000@penguin.transmeta.com>
On Wed, 15 Aug 2001, Linus Torvalds wrote:
> diff -u --recursive --new-file pre4/linux/mm/page_alloc.c linux/mm/page_alloc.c
> --- pre4/linux/mm/page_alloc.c Wed Aug 15 02:39:44 2001
> +++ linux/mm/page_alloc.c Wed Aug 15 13:35:02 2001
> @@ -450,7 +450,7 @@
> if (gfp_mask & __GFP_WAIT) {
> if (!order || free_shortage()) {
> int progress = try_to_free_pages(gfp_mask);
> - if (progress || (gfp_mask & __GFP_FS))
> + if (progress || (gfp_mask & __GFP_IO))
> goto try_again;
> /*
> * Fail in case no progress was made and the
Hmmm, thinking about it a bit more I'm not sure about
this part. It could lead to us looping infinitely while
not being able to free pages because we'd need __GFP_FS
in order to call the various ->writepage() functions.
In case a GFP_BUFFER (or similar) allocation really cannot
make any progress here, we need to exit instead of looping
forever, so my intuition is that trying to let the allocation
loop forever can cause system hangs whereas failing the
allocation would the code path in buffer.c or one of the
filesystems to bail out in another way...
regards,
Rik
--
IA64: a worthy successor to i860.
http://www.surriel.com/ http://distro.conectiva.com/
Send all your spam to aardvark@nl.linux.org (spam digging piggy)
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
next prev parent reply other threads:[~2001-08-15 22:15 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.21.0108152049100.973-100000@localhost.localdomain>
2001-08-15 20:45 ` Linus Torvalds
2001-08-15 20:55 ` Marcelo Tosatti
2001-08-15 22:30 ` Linus Torvalds
2001-08-15 22:34 ` Rik van Riel
2001-08-15 23:27 ` Hugh Dickins
2001-08-15 22:15 ` Marcelo Tosatti
2001-08-15 22:00 ` Rik van Riel
2001-08-15 22:15 ` Rik van Riel [this message]
2001-08-15 23:09 ` Hugh Dickins
2001-08-15 21:54 ` Marcelo Tosatti
2001-08-15 23:38 ` Rik van Riel
2001-08-16 0:07 ` Hugh Dickins
2001-08-15 22:44 ` Marcelo Tosatti
2001-08-16 0:50 ` Linus Torvalds
2001-08-16 8:30 ` Daniel Phillips
2001-08-16 10:26 ` Stephen C. Tweedie
2001-08-16 12:18 ` Daniel Phillips
2001-08-16 15:35 ` Eric W. Biederman
2001-08-16 16:37 ` Stephen C. Tweedie
2001-08-17 3:20 ` Eric W. Biederman
2001-08-17 11:45 ` Stephen C. Tweedie
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=Pine.LNX.4.33L.0108151908330.5646-100000@imladris.rielhome.conectiva \
--to=riel@conectiva.com.br \
--cc=hugh@veritas.com \
--cc=linux-mm@kvack.org \
--cc=marcelo@conectiva.com.br \
--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