linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* 2.2.1{3,4,5pre*} VM bug found
@ 2000-01-25  3:27 Rik van Riel
  2000-01-25 18:15 ` Andrea Arcangeli
  2000-01-27 19:07 ` Stephen C. Tweedie
  0 siblings, 2 replies; 5+ messages in thread
From: Rik van Riel @ 2000-01-25  3:27 UTC (permalink / raw)
  To: Alan Cox; +Cc: Linux MM, Linux Kernel

Hi Alan,

I've found the bug that makes the VM subsystem in the
latest 2.2 kernels go belly-up (or mess up processes).

Sometimes a process with tsk->state != TASK_RUNNABLE
calls __get_free_pages(). When we're (almost) out of
memory, the process will wake up kswapd and try to
free some memory itself.

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

The task itself will still be somewhere `in the middle
of' __get_free_pages() and has no chance of ever
returning to whatever it was doing. Of course it still
reacts on signals, so you can easily kill it (unless
it happens to be your X server).

I will prepare a fix for this after I've had some
sleep ... you'll hear back from me tomorrow.

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/

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2000-01-27 19:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-01-25  3:27 2.2.1{3,4,5pre*} VM bug found Rik van Riel
2000-01-25 18:15 ` Andrea Arcangeli
2000-01-26  0:48   ` Rik van Riel
2000-01-27 19:09     ` Stephen C. Tweedie
2000-01-27 19:07 ` Stephen C. Tweedie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox