Request timeout seen with NVMEoF TCP

Sagi Grimberg sagi at grimberg.me
Thu Dec 10 16:47:11 EST 2020


>>> Hi All,
>>> I am seeing the following timeouts and reconnects on NVMF TCP initiator with latest v5.10-rc5
>>> kernel.
>>> I see the same behavior with nvme tree too (branch:nvme-5.11)
>>> I last ran this with 5.8, where it was running fine.
>>>
>>> Target configuration is, 1 target with 1gb ramdisk namespace. On intiator,
>>> discover, connect and run fio or Iozone. Traces are seen within couple of minutes
>>> after starting the test.
>>
>> Hey Potnuri,
>>
>> Can you also attach the target side logs? it seems like an I/O times out
>> for no apparent reason..
> 
> I see nothing much logged on target.

Hey Potnuri,

This issue is consistent with what Baharat reported.

Can you please check if the below solves the issue?
-- 
diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c
index 1ba659927442..9193b05d7bda 100644
--- a/drivers/nvme/host/tcp.c
+++ b/drivers/nvme/host/tcp.c
@@ -1122,6 +1122,14 @@ static void nvme_tcp_io_work(struct work_struct *w)
                                 pending = true;
                         else if (unlikely(result < 0))
                                 break;
+               } else {
+                       /*
+                        * submission path is sending, we need to
+                        * continue or resched because the submission
+                        * path direct send is not concerned with
+                        * rescheduling...
+                        */
+                       pending = true;
                 }

                 result = nvme_tcp_try_recv(queue);
-- 

Thanks



More information about the Linux-nvme mailing list