From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Mon, 25 Sep 2000 11:06:27 -0300 (BRST) From: Rik van Riel Subject: Re: refill_inactive() In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org Return-Path: To: Ingo Molnar Cc: Roger Larsson , Linus Torvalds , MM mailing list , linux-kernel@vger.kernel.org List-ID: On Sun, 24 Sep 2000, Ingo Molnar wrote: > i'm wondering about the following piece of code in refill_inactive(): > > if (current->need_resched && (gfp_mask & __GFP_IO)) { > __set_current_state(TASK_RUNNING); > schedule(); > } > > shouldnt this be __GFP_WAIT? It's true that __GFP_IO implies __GFP_WAIT > (because IO cannot be done without potentially scheduling), so the code is > not buggy, but the above 'yielding' of the CPU should be done in the > GFP_BUFFER case as well. (which is __GFP_WAIT but not __GFP_IO) > > Objections? 1) if __GFP_WAIT isn't set, we cannot run try_to_free_pages at all 2) you are right, we /can/ schedule when __GFP_IO isn't set, this is mistake ... now I'm getting confused about what __GFP_IO is all about, does anybody know the _exact_ meaning of __GFP_IO ? regards, Rik -- "What you're running that piece of shit Gnome?!?!" -- Miguel de Icaza, UKUUG 2000 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/