Re: [PATCH 8/8] Revert "ext4: fix wrong gfp type under transaction"

From: Theodore Ts'o
Date: Fri Jan 27 2017 - 01:14:10 EST

On Thu, Jan 26, 2017 at 08:44:55AM +0100, Michal Hocko wrote:
> > > I'm convinced the current series is OK, only real life will tell us whether
> > > we missed something or not ;)
> >
> > I would like to extend the changelog of "jbd2: mark the transaction
> > context with the scope GFP_NOFS context".
> >
> > "
> > Please note that setups without journal do not suffer from potential
> > recursion problems and so they do not need the scope protection because
> > neither ->releasepage nor ->evict_inode (which are the only fs entry
> > points from the direct reclaim) can reenter a locked context which is
> > doing the allocation currently.
> > "
> Could you comment on this Ted, please?

I guess.... so there still is one way this could screw us, and it's this reason for GFP_NOFS:

- to prevent from stack overflows during the reclaim because
the allocation is performed from a deep context already

The writepages call stack can be pretty deep. (Especially if we're
using ext4 in no journal mode over, say, iSCSI.)

How much stack space can get consumed by a reclaim?

- Ted