lockdep warning: fs_reclaim_acquire vs tcp_sendpage

Daniel Wagner dwagner at suse.de
Wed Oct 19 02:37:12 PDT 2022


> >    Possible unsafe locking scenario:
> > 
> >          CPU0                    CPU1
> >          ----                    ----
> >     lock(fs_reclaim);
> >                                  lock(sk_lock-AF_INET-NVME);
> >                                  lock(fs_reclaim);
> >     lock(sk_lock-AF_INET-NVME);
> 
> Indeed. I see the issue.
> kswapd is trying to swap out pages, but if someone were to delete
> the controller (like in this case), sock_release -> tcp_disconnect
> will alloc skb that may need to reclaim pages.
> 
> Two questions, the stack trace suggests that you are not using
> nvme-mpath? is that the case?

This is with a multipath setup. The fio settings are pushing the limits
of the VM (memory size) hence the kswap process kicking in.

> Given that we fail all inflight requests before we free the socket,
> I don't expect for this to be truly circular...
> 
> I'm assuming that we'll need the below similar to nbd/iscsi:

Let me try this.



More information about the Linux-nvme mailing list