> GFP_BUFFER allocations are done very often by reiserfs. 
>
> Thanks 
>
> --- mm/page_alloc.c.orig        Sat Jun 30 19:33:41 2001
> +++ mm/page_alloc.c     Sat Jun 30 19:35:53 2001
> @@ -440,9 +440,13 @@
>                  *        the inactive clean list. (done by page_launder)
>                  */
>                 if (gfp_mask & __GFP_WAIT) {
> +                       int progress;
>                         memory_pressure++;
> -                       try_to_free_pages(gfp_mask);
> -                       goto try_again;
> +                       progress = try_to_free_pages(gfp_mask);
> +                       if (progress || ((gfp_mask) & __GFP_IO))
> +                               goto try_again;
> +                       else 
> +                               return NULL;
>                 }
>         }

Isn't something like this in 2.4.5-ac22 allready?

                 * Another issue are GFP_BUFFER allocations; because they
                 * do not have __GFP_IO set it's possible we cannot make
                 * any progress freeing pages, in that case it's better
                 * to give up than to deadlock the kernel looping here.
                 */
                if (gfp_mask & __GFP_WAIT) {
                        if (!order || free_shortage()) {
                                int progress = try_to_free_pages(gfp_mask);
                                if (progress || (gfp_mask & __GFP_IO))
                                        goto try_again;
                                /*
                                 * Fail in case no progress was made and the
                                 * allocation may not be able to block on IO.
                                 */
                                return NULL;
                        }
                }

2.4.5-ac22 is running like a champion since Jun 29, for me.

Regards,
        Dieter

BTW If you have another patch I'll try it for you.

-- 
Dieter N�tzel
Graduate Student, Computer Science

University of Hamburg
Department of Computer Science
Cognitive Systems Group
Vogt-K�lln-Stra�e 30
D-22527 Hamburg, Germany

email: [EMAIL PROTECTED]
@home: [EMAIL PROTECTED]

Reply via email to