From: Rik van Riel <riel@conectiva.com.br>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: "Juan J. Quintela" <quintela@fi.udc.es>,
Rajagopal Ananthanarayanan <ananth@sgi.com>,
linux-mm@kvack.org
Subject: Re: A possible winner in pre7-8
Date: Wed, 10 May 2000 15:11:03 -0300 (BRST) [thread overview]
Message-ID: <Pine.LNX.4.21.0005101509260.6894-100000@duckman.conectiva> (raw)
In-Reply-To: <Pine.LNX.4.10.10005100817530.1989-100000@penguin.transmeta.com>
On Wed, 10 May 2000, Linus Torvalds wrote:
> Do you have a SMP machine? If so, I think I found this one.
> And it's been there for ages.
>
> The bug is that GFP_ATOMIC _really_ must not try to page stuff out,
> eventhe stuff that doesn't need IO to be dropped.
>
> Why? Because GFP_ATOMIC can be (and mostly is) called from
> interrupts, and even when we don't do IO we _do_ access a number
> of spinlocks in order to see whether we can even just drop it.
I'm sorry to dissapoint you, but I'm afraid this isn't
the bug. Please look at this code from vmscan.c...
int try_to_free_pages(unsigned int gfp_mask, zone_t *zone)
{
int retval = 1;
if (gfp_mask & __GFP_WAIT) {
current->flags |= PF_MEMALLOC;
retval = do_try_to_free_pages(gfp_mask, zone);
current->flags &= ~PF_MEMALLOC;
}
return retval;
}
As you see, we never call do_try_to_free_pages() if we don't
have __GFP_WAIT set. And GFP_ATOMIC doesn't include __GFP_WAIT.
regards,
Rik
--
The Internet is not a network of computers. It is a network
of people. That is its real strength.
Wanna talk about the kernel? irc.openprojects.net / #kernelnewbies
http://www.conectiva.com/ http://www.surriel.com/
--
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.eu.org/Linux-MM/
next prev parent reply other threads:[~2000-05-10 18:11 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.10.10005082332560.773-100000@penguin.transmeta.com>
2000-05-09 7:50 ` Rajagopal Ananthanarayanan
2000-05-09 17:33 ` Juan J. Quintela
2000-05-10 1:59 ` Roger Larsson
2000-05-10 22:13 ` [plastic bag] " Roger Larsson
2000-05-10 21:23 ` Rik van Riel
2000-05-10 3:29 ` Juan J. Quintela
2000-05-10 15:31 ` Linus Torvalds
2000-05-10 16:04 ` Juan J. Quintela
2000-05-10 18:11 ` Rik van Riel [this message]
2000-05-10 18:21 ` Linus Torvalds
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.21.0005101509260.6894-100000@duckman.conectiva \
--to=riel@conectiva.com.br \
--cc=ananth@sgi.com \
--cc=linux-mm@kvack.org \
--cc=quintela@fi.udc.es \
--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