[linux-nvme:nvme-6.4-rc4-pull 5/5] drivers/nvme/host/core.c:1202:51: error: 'struct nvme_request' has no member named 'start_time'

kernel test robot lkp at intel.com
Tue May 30 14:27:59 PDT 2023


tree:   git://git.infradead.org/nvme.git nvme-6.4-rc4-pull
head:   f041d3b83aea7e76e4dfc6591954d6dfe506dbdb
commit: f041d3b83aea7e76e4dfc6591954d6dfe506dbdb [5/5] nvme: improve handling of long keep alives
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20230531/202305310532.V3y3hWXI-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 12.3.0
reproduce (this is a W=1 build):
        mkdir -p ~/bin
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git remote add linux-nvme git://git.infradead.org/nvme.git
        git fetch --no-tags linux-nvme nvme-6.4-rc4-pull
        git checkout f041d3b83aea7e76e4dfc6591954d6dfe506dbdb
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=arm64 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/nvme/host/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202305310532.V3y3hWXI-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/nvme/host/core.c: In function 'nvme_keep_alive_end_io':
>> drivers/nvme/host/core.c:1202:51: error: 'struct nvme_request' has no member named 'start_time'
    1202 |         unsigned long rtt = jiffies - nvme_req(rq)->start_time;
         |                                                   ^~


vim +1202 drivers/nvme/host/core.c

  1195	
  1196	static enum rq_end_io_ret nvme_keep_alive_end_io(struct request *rq,
  1197							 blk_status_t status)
  1198	{
  1199		struct nvme_ctrl *ctrl = rq->end_io_data;
  1200		unsigned long flags;
  1201		bool startka = false;
> 1202		unsigned long rtt = jiffies - nvme_req(rq)->start_time;
  1203		unsigned long delay = nvme_keep_alive_work_period(ctrl);
  1204	
  1205		/*
  1206		 * Subtract off the keepalive RTT so nvme_keep_alive_work runs
  1207		 * at the desired frequency.
  1208		 */
  1209		if (rtt <= delay) {
  1210			delay -= rtt;
  1211		} else {
  1212			dev_warn(ctrl->device, "long keepalive RTT (%u ms)\n",
  1213				 jiffies_to_msecs(rtt));
  1214			delay = 0;
  1215		}
  1216	
  1217		blk_mq_free_request(rq);
  1218	
  1219		if (status) {
  1220			dev_err(ctrl->device,
  1221				"failed nvme_keep_alive_end_io error=%d\n",
  1222					status);
  1223			return RQ_END_IO_NONE;
  1224		}
  1225	
  1226		ctrl->ka_last_check_time = jiffies;
  1227		ctrl->comp_seen = false;
  1228		spin_lock_irqsave(&ctrl->lock, flags);
  1229		if (ctrl->state == NVME_CTRL_LIVE ||
  1230		    ctrl->state == NVME_CTRL_CONNECTING)
  1231			startka = true;
  1232		spin_unlock_irqrestore(&ctrl->lock, flags);
  1233		if (startka)
  1234			queue_delayed_work(nvme_wq, &ctrl->ka_work, delay);
  1235		return RQ_END_IO_NONE;
  1236	}
  1237	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



More information about the Linux-nvme mailing list