lkml.org 
[lkml]   [2000]   [Jan]   [26]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateTue, 25 Jan 2000 19:15:43 +0100 (CET)
FromAndrea Arcangeli <>
SubjectRe: 2.2.1{3,4,5pre*} VM bug found
On Tue, 25 Jan 2000, Rik van Riel wrote:

>calls __get_free_pages(). When we're (almost) out of
>memory, the process will wake up kswapd and try to

You'll block also before to go out of memory if the allocation rate is
high enough.

>In 2.2.15pre4 or when the call to try_to_free_pages()
>generates disk I/O, the task will call schedule().
>Since the task state != TASK_RUNNABLE, schedule() will
>immedately remove it from the run queue ...

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.
Andrea


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:56    [W:0.246 / U:0.060 seconds]
©2003-2008 Jasper Spaans