On Fri, May 04, 2012 at 05:55:21PM -0400, Peter Watkins wrote:
> Greetings,
>
> Anyone seen a deadlock like the one below? It's a 17TB system with 32
> bit inodes and it's doing lots of inode allocations at the same time.
> So you might consider it a stress test for inode alloc activity on a
> single AG.
>
> xfs_ialloc called xfs_dialloc and got the agi header buf, then it
> called xfs_iget which went into reclaim during radix_tree_preload.
> While trying to shrink the inode cache, xfs_iunlink_remove tries to
> get the same agi header buf.
>
> With 64 bit inodes you'd be less likely to hit this path, but it's
> still possible, no?
>
> Should this call to radix_tree_preload use GFP_NOFS?
Yes, because xfs_iget canbe called from transaction context. Can you
send a patch for the current TOT kernel?
Cheers,
Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx
|