Messages in this thread |  | | Date | Sat, 26 May 2001 12:28:53 -0300 (BRST) | From | Rik van Riel <> | Subject | Re: Linux-2.4.5 |
| |
On Sat, 26 May 2001, Linus Torvalds wrote:
> if (gfp_mask & __GFP_WAIT) { > memory_pressure++; > - try_to_free_pages(gfp_mask); > - goto try_again; > + if (!order || free_shortage()) { > + int progress = try_to_free_pages(gfp_mask); > + if (progress || gfp_mask & __GFP_IO) > + goto try_again; > + } > }
Yes, this is it.
> Testing is good. But I want to understand how we get into the > situation in the first place, and whether there are ways to alleviate > those problems too.
As I said create_buffers() -> get_unused_buffer_head() -> __alloc_pages() -> loop infinitely.
Your simplification of get_unused_buffer_head() fits in nicely with this.
regards,
Rik -- Virtual memory is like a game you can't win; However, without VM there's truly nothing to lose...
http://www.surriel.com/ http://distro.conectiva.com/
Send all your spam to aardvark@nl.linux.org (spam digging piggy)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |