2.2.1{3,4,5pre*} VM bug found
Stephen C. Tweedie
sct en redhat.com
Jue Ene 27 16:31:11 CST 2000
Hi,
On Wed, 26 Jan 2000 01:48:43 +0100 (CET), Rik van Riel
<riel en nl.linux.org> said:
> 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.
It's not only possible, it is explicitly legal. It always has been.
You _must_ call it with GFP_ATOMIC if you can't afford to block (or,
alternatively, call it without __GFP_IO, or with the PF_MEMALLOC flag).
> A fix for this problem is in one of my other emails
It's not a problem. If callers are expecting GFP_KERNEL to be atomic,
then _that_ is a problem, but it is perfectly all right for GFP_KERNEL
allocations to block.
--Stephen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo en vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
Más información sobre la lista de distribución Ayuda