Messages in this thread | | | Date | Thu, 12 Apr 2001 13:29:02 -0300 (BRST) | From | Rik van Riel <> | Subject | Re: scheduler went mad? |
| |
On Thu, 12 Apr 2001, Alan Cox wrote:
> > 2.4.3-pre6 quietly made a very significant change there: > > it used to say "if (!order) goto try_again;" and now just > > says "goto try_again;". Which seems very sensible since > > __GFP_WAIT is set, but I do wonder if it was a safe change. > > We have mechanisms for freeing pages (order 0), but whether > > any higher orders come out of that is a matter of chance. > > The fundamental problem is that it should say > > wait_for_mm_progress(); > goto try_again; > > and we dont have that facility right now.
From mm/page_alloc.c, around line 453:
if (gfp_mask & __GFP_WAIT) { memory_pressure++; try_to_free_pages(gfp_mask); wakeup_bdflush(0); goto try_again; }
I guess we should remove the wakeup_bdflush(0) ... who put it there anyway ?
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://www.conectiva.com/ http://distro.conectiva.com.br/
- 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/
| |