Re: 2.4.10aa1 - 0-order allocation failed.

Andrea Arcangeli (andrea@suse.de)
Wed, 26 Sep 2001 23:58:17 +0200


On Wed, Sep 26, 2001 at 05:24:28PM -0300, Marcelo Tosatti wrote:
>
>
> On Wed, 26 Sep 2001, Andrea Arcangeli wrote:
>
>
> <snip>
>
> > > Andrea,
> > >
> > > This is going to make __GFP_NOFS allocations call writepage(): deadlock.
> >
> > (side note: I assume you mean GFP_NOFS)
> >
> > GFP_NOFS will never call writepage with the above change, obviously
> > because __GFP_FS isn't set. So it can't deadlock.
>
> if ((gfp_mask & __GFP_FS) && ((gfp_mask & __GFP_HIGHIO) || !PageHighMem(page)) && writepage) {
^^
>
> ^^ ^^^^^ ^^^^ ^^^^^
>
> If the page is not highmem, we are going to write the page. (independantly
> of any GFP flag)
>
> I'm I over looking something ?

the && on the left of the (((gfp_mask & __GFP_HIGHIO) || !PageHighMem(page)).

Andrea
-
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/