[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202511130449.Q1mCZRpT-lkp@intel.com>
Date: Thu, 13 Nov 2025 12:51:08 +0800
From: kernel test robot <lkp@...el.com>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Corey Minyard <corey@...yard.net>,
Christian König <christian.koenig@....com>,
"Dr. David Alan Gilbert" <linux@...blig.org>,
Alex Deucher <alexander.deucher@....com>,
Thomas Zimmermann <tzimmermann@...e.de>,
Dmitry Baryshkov <lumag@...nel.org>,
Rob Clark <robin.clark@....qualcomm.com>,
Matthew Brost <matthew.brost@...el.com>,
Ulf Hansson <ulf.hansson@...aro.org>,
Vitaly Lifshits <vitaly.lifshits@...el.com>,
Manivannan Sadhasivam <mani@...nel.org>,
Niklas Cassel <cassel@...nel.org>, Calvin Owens <calvin@...nvd.org>,
Vadim Fedorenko <vadim.fedorenko@...ux.dev>,
Sagi Maimon <maimon.sagi@...il.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Karan Tilak Kumar <kartilak@...co.com>,
Hans Verkuil <hverkuil@...all.nl>,
Casey Schaufler <casey@...aufler-ca.com>,
Steven Rostedt <rostedt@...dmis.org>,
Petr Mladek <pmladek@...e.com>,
Viacheslav Dubeyko <Slava.Dubeyko@....com>,
Max Kellermann <max.kellermann@...os.com>,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
openipmi-developer@...ts.sourceforge.net,
linux-media@...r.kernel.org, dri-devel@...ts.freedesktop.org,
linaro-mm-sig@...ts.linaro.org
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev
Subject: Re: [PATCH v2 19/21] scsi: fnic: Switch to use %ptS
Hi Andy,
kernel test robot noticed the following build errors:
[auto build test ERROR on ceph-client/testing]
[also build test ERROR on ceph-client/for-linus cminyard-ipmi/for-next mkp-scsi/for-next jejb-scsi/for-next linus/master v6.18-rc5 next-20251112]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/lib-vsprintf-Add-specifier-for-printing-struct-timespec64/20251111-203105
base: https://github.com/ceph/ceph-client.git testing
patch link: https://lore.kernel.org/r/20251111122735.880607-20-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v2 19/21] scsi: fnic: Switch to use %ptS
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20251113/202511130449.Q1mCZRpT-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251113/202511130449.Q1mCZRpT-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511130449.Q1mCZRpT-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/scsi/fnic/fnic_trace.c:234:2: error: cannot take the address of an rvalue of type 'struct timespec64'
234 | ×pec64_sub(val1, stats->stats_timestamps.last_reset_time),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/fnic/fnic_trace.c:235:2: error: cannot take the address of an rvalue of type 'struct timespec64'
235 | ×pec64_sub(val1, stats->stats_timestamps.last_read_time));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
vim +234 drivers/scsi/fnic/fnic_trace.c
198
199 /*
200 * fnic_get_stats_data - Copy fnic stats buffer to a memory file
201 * @fnic_dbgfs_t: pointer to debugfs fnic stats buffer
202 *
203 * Description:
204 * This routine gathers the fnic stats debugfs data from the fnic_stats struct
205 * and dumps it to stats_debug_info.
206 *
207 * Return Value:
208 * This routine returns the amount of bytes that were dumped into
209 * stats_debug_info
210 */
211 int fnic_get_stats_data(struct stats_debug_info *debug,
212 struct fnic_stats *stats)
213 {
214 int len = 0;
215 int buf_size = debug->buf_size;
216 struct timespec64 val1, val2;
217 int i = 0;
218
219 ktime_get_real_ts64(&val1);
220 len = scnprintf(debug->debug_buffer + len, buf_size - len,
221 "------------------------------------------\n"
222 "\t\tTime\n"
223 "------------------------------------------\n");
224
225 len += scnprintf(debug->debug_buffer + len, buf_size - len,
226 "Current time : [%ptSp]\n"
227 "Last stats reset time: [%ptSp]\n"
228 "Last stats read time: [%ptSp]\n"
229 "delta since last reset: [%ptSp]\n"
230 "delta since last read: [%ptSp]\n",
231 &val1,
232 &stats->stats_timestamps.last_reset_time,
233 &stats->stats_timestamps.last_read_time,
> 234 ×pec64_sub(val1, stats->stats_timestamps.last_reset_time),
235 ×pec64_sub(val1, stats->stats_timestamps.last_read_time));
236
237 stats->stats_timestamps.last_read_time = val1;
238
239 len += scnprintf(debug->debug_buffer + len, buf_size - len,
240 "------------------------------------------\n"
241 "\t\tIO Statistics\n"
242 "------------------------------------------\n");
243 len += scnprintf(debug->debug_buffer + len, buf_size - len,
244 "Number of Active IOs: %lld\nMaximum Active IOs: %lld\n"
245 "Number of IOs: %lld\nNumber of IO Completions: %lld\n"
246 "Number of IO Failures: %lld\nNumber of IO NOT Found: %lld\n"
247 "Number of Memory alloc Failures: %lld\n"
248 "Number of IOREQ Null: %lld\n"
249 "Number of SCSI cmd pointer Null: %lld\n"
250
251 "\nIO completion times: \n"
252 " < 10 ms : %lld\n"
253 " 10 ms - 100 ms : %lld\n"
254 " 100 ms - 500 ms : %lld\n"
255 " 500 ms - 5 sec: %lld\n"
256 " 5 sec - 10 sec: %lld\n"
257 " 10 sec - 30 sec: %lld\n"
258 " > 30 sec: %lld\n",
259 (u64)atomic64_read(&stats->io_stats.active_ios),
260 (u64)atomic64_read(&stats->io_stats.max_active_ios),
261 (u64)atomic64_read(&stats->io_stats.num_ios),
262 (u64)atomic64_read(&stats->io_stats.io_completions),
263 (u64)atomic64_read(&stats->io_stats.io_failures),
264 (u64)atomic64_read(&stats->io_stats.io_not_found),
265 (u64)atomic64_read(&stats->io_stats.alloc_failures),
266 (u64)atomic64_read(&stats->io_stats.ioreq_null),
267 (u64)atomic64_read(&stats->io_stats.sc_null),
268 (u64)atomic64_read(&stats->io_stats.io_btw_0_to_10_msec),
269 (u64)atomic64_read(&stats->io_stats.io_btw_10_to_100_msec),
270 (u64)atomic64_read(&stats->io_stats.io_btw_100_to_500_msec),
271 (u64)atomic64_read(&stats->io_stats.io_btw_500_to_5000_msec),
272 (u64)atomic64_read(&stats->io_stats.io_btw_5000_to_10000_msec),
273 (u64)atomic64_read(&stats->io_stats.io_btw_10000_to_30000_msec),
274 (u64)atomic64_read(&stats->io_stats.io_greater_than_30000_msec));
275
276 len += scnprintf(debug->debug_buffer + len, buf_size - len,
277 "------------------------------------------\n"
278 "\t\tIO Queues and cumulative IOs\n"
279 "------------------------------------------\n");
280
281 for (i = 0; i < FNIC_MQ_MAX_QUEUES; i++) {
282 len += scnprintf(debug->debug_buffer + len, buf_size - len,
283 "Q:%d -> %lld\n", i, (u64)atomic64_read(&stats->io_stats.ios[i]));
284 }
285
286 len += scnprintf(debug->debug_buffer + len, buf_size - len,
287 "\nCurrent Max IO time : %lld\n",
288 (u64)atomic64_read(&stats->io_stats.current_max_io_time));
289
290 len += scnprintf(debug->debug_buffer + len, buf_size - len,
291 "\n------------------------------------------\n"
292 "\t\tAbort Statistics\n"
293 "------------------------------------------\n");
294
295 len += scnprintf(debug->debug_buffer + len, buf_size - len,
296 "Number of Aborts: %lld\n"
297 "Number of Abort Failures: %lld\n"
298 "Number of Abort Driver Timeouts: %lld\n"
299 "Number of Abort FW Timeouts: %lld\n"
300 "Number of Abort IO NOT Found: %lld\n"
301
302 "Abort issued times: \n"
303 " < 6 sec : %lld\n"
304 " 6 sec - 20 sec : %lld\n"
305 " 20 sec - 30 sec : %lld\n"
306 " 30 sec - 40 sec : %lld\n"
307 " 40 sec - 50 sec : %lld\n"
308 " 50 sec - 60 sec : %lld\n"
309 " > 60 sec: %lld\n",
310
311 (u64)atomic64_read(&stats->abts_stats.aborts),
312 (u64)atomic64_read(&stats->abts_stats.abort_failures),
313 (u64)atomic64_read(&stats->abts_stats.abort_drv_timeouts),
314 (u64)atomic64_read(&stats->abts_stats.abort_fw_timeouts),
315 (u64)atomic64_read(&stats->abts_stats.abort_io_not_found),
316 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_0_to_6_sec),
317 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_6_to_20_sec),
318 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_20_to_30_sec),
319 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_30_to_40_sec),
320 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_40_to_50_sec),
321 (u64)atomic64_read(&stats->abts_stats.abort_issued_btw_50_to_60_sec),
322 (u64)atomic64_read(&stats->abts_stats.abort_issued_greater_than_60_sec));
323
324 len += scnprintf(debug->debug_buffer + len, buf_size - len,
325 "\n------------------------------------------\n"
326 "\t\tTerminate Statistics\n"
327 "------------------------------------------\n");
328
329 len += scnprintf(debug->debug_buffer + len, buf_size - len,
330 "Number of Terminates: %lld\n"
331 "Maximum Terminates: %lld\n"
332 "Number of Terminate Driver Timeouts: %lld\n"
333 "Number of Terminate FW Timeouts: %lld\n"
334 "Number of Terminate IO NOT Found: %lld\n"
335 "Number of Terminate Failures: %lld\n",
336 (u64)atomic64_read(&stats->term_stats.terminates),
337 (u64)atomic64_read(&stats->term_stats.max_terminates),
338 (u64)atomic64_read(&stats->term_stats.terminate_drv_timeouts),
339 (u64)atomic64_read(&stats->term_stats.terminate_fw_timeouts),
340 (u64)atomic64_read(&stats->term_stats.terminate_io_not_found),
341 (u64)atomic64_read(&stats->term_stats.terminate_failures));
342
343 len += scnprintf(debug->debug_buffer + len, buf_size - len,
344 "\n------------------------------------------\n"
345 "\t\tReset Statistics\n"
346 "------------------------------------------\n");
347
348 len += scnprintf(debug->debug_buffer + len, buf_size - len,
349 "Number of Device Resets: %lld\n"
350 "Number of Device Reset Failures: %lld\n"
351 "Number of Device Reset Aborts: %lld\n"
352 "Number of Device Reset Timeouts: %lld\n"
353 "Number of Device Reset Terminates: %lld\n"
354 "Number of FW Resets: %lld\n"
355 "Number of FW Reset Completions: %lld\n"
356 "Number of FW Reset Failures: %lld\n"
357 "Number of Fnic Reset: %lld\n"
358 "Number of Fnic Reset Completions: %lld\n"
359 "Number of Fnic Reset Failures: %lld\n",
360 (u64)atomic64_read(&stats->reset_stats.device_resets),
361 (u64)atomic64_read(&stats->reset_stats.device_reset_failures),
362 (u64)atomic64_read(&stats->reset_stats.device_reset_aborts),
363 (u64)atomic64_read(&stats->reset_stats.device_reset_timeouts),
364 (u64)atomic64_read(
365 &stats->reset_stats.device_reset_terminates),
366 (u64)atomic64_read(&stats->reset_stats.fw_resets),
367 (u64)atomic64_read(&stats->reset_stats.fw_reset_completions),
368 (u64)atomic64_read(&stats->reset_stats.fw_reset_failures),
369 (u64)atomic64_read(&stats->reset_stats.fnic_resets),
370 (u64)atomic64_read(
371 &stats->reset_stats.fnic_reset_completions),
372 (u64)atomic64_read(&stats->reset_stats.fnic_reset_failures));
373
374 len += scnprintf(debug->debug_buffer + len, buf_size - len,
375 "\n------------------------------------------\n"
376 "\t\tFirmware Statistics\n"
377 "------------------------------------------\n");
378
379 len += scnprintf(debug->debug_buffer + len, buf_size - len,
380 "Number of Active FW Requests %lld\n"
381 "Maximum FW Requests: %lld\n"
382 "Number of FW out of resources: %lld\n"
383 "Number of FW IO errors: %lld\n",
384 (u64)atomic64_read(&stats->fw_stats.active_fw_reqs),
385 (u64)atomic64_read(&stats->fw_stats.max_fw_reqs),
386 (u64)atomic64_read(&stats->fw_stats.fw_out_of_resources),
387 (u64)atomic64_read(&stats->fw_stats.io_fw_errs));
388
389 len += scnprintf(debug->debug_buffer + len, buf_size - len,
390 "\n------------------------------------------\n"
391 "\t\tVlan Discovery Statistics\n"
392 "------------------------------------------\n");
393
394 len += scnprintf(debug->debug_buffer + len, buf_size - len,
395 "Number of Vlan Discovery Requests Sent %lld\n"
396 "Vlan Response Received with no FCF VLAN ID: %lld\n"
397 "No solicitations recvd after vlan set, expiry count: %lld\n"
398 "Flogi rejects count: %lld\n",
399 (u64)atomic64_read(&stats->vlan_stats.vlan_disc_reqs),
400 (u64)atomic64_read(&stats->vlan_stats.resp_withno_vlanID),
401 (u64)atomic64_read(&stats->vlan_stats.sol_expiry_count),
402 (u64)atomic64_read(&stats->vlan_stats.flogi_rejects));
403
404 len += scnprintf(debug->debug_buffer + len, buf_size - len,
405 "\n------------------------------------------\n"
406 "\t\tOther Important Statistics\n"
407 "------------------------------------------\n");
408
409 jiffies_to_timespec64(stats->misc_stats.last_isr_time, &val1);
410 jiffies_to_timespec64(stats->misc_stats.last_ack_time, &val2);
411
412 len += scnprintf(debug->debug_buffer + len, buf_size - len,
413 "Last ISR time: %llu (%ptSp)\n"
414 "Last ACK time: %llu (%ptSp)\n"
415 "Max ISR jiffies: %llu\n"
416 "Max ISR time (ms) (0 denotes < 1 ms): %llu\n"
417 "Corr. work done: %llu\n"
418 "Number of ISRs: %lld\n"
419 "Maximum CQ Entries: %lld\n"
420 "Number of ACK index out of range: %lld\n"
421 "Number of data count mismatch: %lld\n"
422 "Number of FCPIO Timeouts: %lld\n"
423 "Number of FCPIO Aborted: %lld\n"
424 "Number of SGL Invalid: %lld\n"
425 "Number of Copy WQ Alloc Failures for ABTs: %lld\n"
426 "Number of Copy WQ Alloc Failures for Device Reset: %lld\n"
427 "Number of Copy WQ Alloc Failures for IOs: %lld\n"
428 "Number of no icmnd itmf Completions: %lld\n"
429 "Number of Check Conditions encountered: %lld\n"
430 "Number of QUEUE Fulls: %lld\n"
431 "Number of rport not ready: %lld\n"
432 "Number of receive frame errors: %lld\n"
433 "Port speed (in Mbps): %lld\n",
434 (u64)stats->misc_stats.last_isr_time,
435 &val1,
436 (u64)stats->misc_stats.last_ack_time,
437 &val2,
438 (u64)atomic64_read(&stats->misc_stats.max_isr_jiffies),
439 (u64)atomic64_read(&stats->misc_stats.max_isr_time_ms),
440 (u64)atomic64_read(&stats->misc_stats.corr_work_done),
441 (u64)atomic64_read(&stats->misc_stats.isr_count),
442 (u64)atomic64_read(&stats->misc_stats.max_cq_entries),
443 (u64)atomic64_read(&stats->misc_stats.ack_index_out_of_range),
444 (u64)atomic64_read(&stats->misc_stats.data_count_mismatch),
445 (u64)atomic64_read(&stats->misc_stats.fcpio_timeout),
446 (u64)atomic64_read(&stats->misc_stats.fcpio_aborted),
447 (u64)atomic64_read(&stats->misc_stats.sgl_invalid),
448 (u64)atomic64_read(
449 &stats->misc_stats.abts_cpwq_alloc_failures),
450 (u64)atomic64_read(
451 &stats->misc_stats.devrst_cpwq_alloc_failures),
452 (u64)atomic64_read(&stats->misc_stats.io_cpwq_alloc_failures),
453 (u64)atomic64_read(&stats->misc_stats.no_icmnd_itmf_cmpls),
454 (u64)atomic64_read(&stats->misc_stats.check_condition),
455 (u64)atomic64_read(&stats->misc_stats.queue_fulls),
456 (u64)atomic64_read(&stats->misc_stats.tport_not_ready),
457 (u64)atomic64_read(&stats->misc_stats.frame_errors),
458 (u64)atomic64_read(&stats->misc_stats.port_speed_in_mbps));
459
460 return len;
461
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists