On Thu, 12 Apr 2001, Rik van Riel wrote:

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

I did :)

This should fix it 

--- mm/page_alloc.c.orig   Thu Apr 12 13:47:53 2001
+++ mm/page_alloc.c        Thu Apr 12 13:48:06 2001
@@ -454,7 +454,7 @@
                if (gfp_mask & __GFP_WAIT) {
                        memory_pressure++;
                        try_to_free_pages(gfp_mask);
-                       wakeup_bdflush(0);
+                       balance_dirty(NODEV);
                        goto try_again;
                }


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to