xfs
[Top] [All Lists]

Re: [PATCH 4/5] xfs: xfs_inode_free() isn't RCU safe

To: Alex Lyakas <alex@xxxxxxxxxxxxxxxxx>
Subject: Re: [PATCH 4/5] xfs: xfs_inode_free() isn't RCU safe
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 13 Apr 2016 09:29:25 +1000
Cc: xfs@xxxxxxxxxxx, bbice@xxxxxxx, Shyam Kaushik <shyam@xxxxxxxxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <0A92B65A3BF94F60BB36EA3FA716DF1F@alyakaslap>
References: <0A92B65A3BF94F60BB36EA3FA716DF1F@alyakaslap>
User-agent: Mutt/1.5.21 (2010-09-15)
On Tue, Apr 12, 2016 at 11:56:35AM +0300, Alex Lyakas wrote:
> Hello Dave,
> 
> Looking at the patch, I see that now we call xfs_idestroy_fork() in RCU 
> callback. This can do the following chain:
> 
> xfs_iext_destroy => xfs_iext_irec_remove => xfs_iext_realloc_indirect=> 
> kmem_realloc => kmem_alloc => kmem_alloc => congestion_wait()
> 
> At least according to documentation, the RCU callback cannot block, since it 
> may be called from softirq context. Is this fine?

Right, I forgot about that. Too many forests. I'll reconstruct your
patch from the email you appended it to previously and add that to
the series to test against.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>