Re: [PATCH 4.4 48/76] libceph: force GFP_NOIO for socket allocations

From: Michal Hocko
Date: Tue Mar 28 2017 - 09:31:30 EST


On Tue 28-03-17 15:23:58, Ilya Dryomov wrote:
> On Tue, Mar 28, 2017 at 2:43 PM, Michal Hocko <mhocko@xxxxxxxxxx> wrote:
> > On Tue 28-03-17 14:30:45, Greg KH wrote:
> >> 4.4-stable review patch. If anyone has any objections, please let me know.
> >
> > I haven't seen the original patch but the changelog makes me worried.
> > How exactly this is a problem? Where do we lockup? Does rbd/libceph take
> > any xfs locks?
>
> No, it doesn't. This is just another instance of "using GFP_KERNEL on
> the writeback path may lead to a deadlock" with nothing extra to it.
>
> XFS is writing out data, libceph messenger worker tries to open
> a socket and recurses back into XFS because the sockfs inode is
> allocated with GFP_KERNEL. The message with some of the data never
> goes out and eventually we get a deadlock.
>
> I've only included the offending stack trace. I guess I should have
> stressed that ceph-msgr workqueue is used for reclaim.

Could you be more specific about the lockup scenario. I still do not get
how this would lead to a deadlock.
--
Michal Hocko
SUSE Labs