Messages in this thread | | | From | "Stephen C. Tweedie" <> | Date | Thu, 27 Jan 2000 19:09:59 +0000 (GMT) | Subject | Re: 2.2.1{3,4,5pre*} VM bug found |
| |
Hi,
On Wed, 26 Jan 2000 01:48:43 +0100 (CET), Rik van Riel <riel@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@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |