scsi: scsi_debug: Add poll mode deferred completions to statistics
authorJohn Garry <john.g.garry@oracle.com>
Mon, 13 Mar 2023 09:31:14 +0000 (09:31 +0000)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 17 Mar 2023 03:25:37 +0000 (23:25 -0400)
Currently commands completed via poll mode are not included in the
statistics gathering for deferred completions and missed CPUs.

Poll mode completions should be treated the same as other deferred
completion types, so add poll mode completions to the statistics.

Signed-off-by: John Garry <john.g.garry@oracle.com>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Link: https://lore.kernel.org/r/20230313093114.1498305-12-john.g.garry@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_debug.c

index 2b25c2090ac90cf22f938c81e0854a3b54463790..7ed117e78bd489223ffd9fc52363c8a20ff2a20c 100644 (file)
@@ -7531,6 +7531,13 @@ static int sdebug_blk_mq_poll(struct Scsi_Host *shost, unsigned int queue_num)
                }
                WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_NONE);
                spin_unlock_irqrestore(&sqp->qc_lock, iflags);
+
+               if (sdebug_statistics) {
+                       atomic_inc(&sdebug_completions);
+                       if (raw_smp_processor_id() != sd_dp->issuing_cpu)
+                               atomic_inc(&sdebug_miss_cpus);
+               }
+
                scsi_done(scp); /* callback to mid level */
                num_entries++;
                spin_lock_irqsave(&sqp->qc_lock, iflags);