lockdep warning: fs_reclaim_acquire vs tcp_sendpage

Sagi Grimberg sagi at grimberg.me
Thu Oct 20 02:57:11 PDT 2022


>>>>> Still able to trigger though I figured out how I am able to
>>>>> reproduce it:
>>>>>
>>>>>     VM 4M memory, 8 vCPUs
>>>>
>>>> thats small...
>>>
>>> Just a test VM. But I think this is actually the key to reproduce the
>>> lockdep splat. The fio command is eating up a lot of ram (I guess any
>>> other memory hog would do the job as well) and forces the mm subsystem
>>> to use the swap.
>>
>> Is that 4MB of memory? or 4GB?
> 
> Ah sorry... it is 4GB indeed.

Just for the experiment, can you try with this change:
--
diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c
index c5bea92560bd..d814be5dca1e 100644
--- a/drivers/nvme/host/tcp.c
+++ b/drivers/nvme/host/tcp.c
@@ -1519,7 +1519,7 @@ static int nvme_tcp_alloc_queue(struct nvme_ctrl 
*nctrl, int qid)
          * close. This is done to prevent stale data from being sent should
          * the network connection be restored before TCP times out.
          */
-       sock_no_linger(queue->sock->sk);
+       //sock_no_linger(queue->sock->sk);

         if (so_priority > 0)
                 sock_set_priority(queue->sock->sk, so_priority);



More information about the Linux-nvme mailing list