From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 26 Jan 2000 01:48:43 +0100 (CET) From: Rik van Riel Subject: Re: 2.2.1{3,4,5pre*} VM bug found 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: Andrea Arcangeli Cc: Alan Cox , Linux MM , Linux Kernel List-ID: On Tue, 25 Jan 2000, Andrea Arcangeli wrote: > Before calling schedule() you always gets registered in a > waitqueue so you can't deadlock or wait too much. > > If something there is the opposite problem. If you do: > > __set_current_state(TASK_UNINTERRUPTIBLE); > get_page(GFP_KERNEL); > XXXXXXXXXXXXXXXXXXXX > schedule(); > > then at point XXXXXXX you may become a task running and you don't > block anymore. The problem in this case is that schedule() may be called from within get_page(GFP_KERNEL). This already was possible in 2.2.14 and before (if the task had to wait for I/O on try_to_free_pages()), but the explicit schedule() in my stuff in 2.2.15pre4 amplified the problem and made it visible. A fix for this problem is in one of my other emails and at my web page: http://www.surriel.com/patches/ regards, Rik -- The Internet is not a network of computers. It is a network of people. That is its real strength. -- 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/