[SPDK] appropriate timeout values in bdev_nvme_set_options for failover tests

lullajd at yahoo.com Fri, 12 Nov 2021 05:06:28 +0000
Newsgroups dev.linux.lists.spdk
Message-ID <[email protected]>
Hi, 

This is about the case where initiator is using spdk.

For testing nvmeof/TCP failover (cold primary/backup) I am trying to use the following timeout values but they don't seem to help:

{
  "subsystems": [
    { 
      "subsystem": "bdev",
      "config": [
        {
        "method": "bdev_nvme_set_options", "params": {
	    "retry_count": 254,
            "timeout_us": 255000000,
	    "keep_alive_timeout_ms": 255000, 
	    "transport_retry_count": 254,
	    "bdev_retry_count": -1,
            "nvme_adminq_poll_period_us": 100000,
            "nvme_ioq_poll_period_us": 0,
   

In my test, when the IO has started, after some time, I am making the primary network path to the nvme device (nvmeof + tcp) unavailable. 
I expect the secondary path to become active and the IO must resume.

Without spdk (ie when I use the kernel drivers on linux), the path switchover on initiator takes ~45 seconds and the IO resumes. 

I suspect something wrong in the timeout values above when trying with spdk.

Could somebody please suggest more appropriate values for the above timeouts? And also please point out if something else also need to be corrected above?

thanks
Jitendra