* [PATCH] mpi3mr: a perfomance fix
@ 2024-08-03 15:04 Tomas Henzl
2024-08-13 2:00 ` Martin K. Petersen
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Tomas Henzl @ 2024-08-03 15:04 UTC (permalink / raw)
To: linux-scsi
Cc: chandrakanth.patil, sathya.prakash, jjurca, sumit.saxena,
ranjan.kumar
Patch 0c52310f2600 ("hrtimer: Ignore slack time for RT tasks in schedule_hrtimeout_range()")
effectivelly shortens a sleep in a polling function in the driver.
That is causing a perfomance regression as the new value
of just 2us is too low. In certain test the perf drop is ~30%.
Fix this by adjusting the sleep to 20us (close to the previous value).
Reported-by: Jan Jurca <jjurca@redhat.com>
Signed-off-by: Tomas Henzl <thenzl@redhat.com>
---
drivers/scsi/mpi3mr/mpi3mr.h | 2 +-
drivers/scsi/mpi3mr/mpi3mr_fw.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/mpi3mr/mpi3mr.h b/drivers/scsi/mpi3mr/mpi3mr.h
index dc2cdd5f0311..249c1a7285d6 100644
--- a/drivers/scsi/mpi3mr/mpi3mr.h
+++ b/drivers/scsi/mpi3mr/mpi3mr.h
@@ -178,7 +178,7 @@ extern atomic64_t event_counter;
#define MPI3MR_DEFAULT_SDEV_QD 32
/* Definitions for Threaded IRQ poll*/
-#define MPI3MR_IRQ_POLL_SLEEP 2
+#define MPI3MR_IRQ_POLL_SLEEP 20
#define MPI3MR_IRQ_POLL_TRIGGER_IOCOUNT 8
/* Definitions for the controller security status*/
diff --git a/drivers/scsi/mpi3mr/mpi3mr_fw.c b/drivers/scsi/mpi3mr/mpi3mr_fw.c
index c196dc14ad20..5695c95fca15 100644
--- a/drivers/scsi/mpi3mr/mpi3mr_fw.c
+++ b/drivers/scsi/mpi3mr/mpi3mr_fw.c
@@ -710,7 +710,7 @@ static irqreturn_t mpi3mr_isr_poll(int irq, void *privdata)
mpi3mr_process_op_reply_q(mrioc,
intr_info->op_reply_q);
- usleep_range(MPI3MR_IRQ_POLL_SLEEP, 10 * MPI3MR_IRQ_POLL_SLEEP);
+ usleep_range(MPI3MR_IRQ_POLL_SLEEP, MPI3MR_IRQ_POLL_SLEEP);
} while (atomic_read(&intr_info->op_reply_q->pend_ios) &&
(num_op_reply < mrioc->max_host_ios));
--
2.45.2
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] mpi3mr: a perfomance fix
2024-08-03 15:04 [PATCH] mpi3mr: a perfomance fix Tomas Henzl
@ 2024-08-13 2:00 ` Martin K. Petersen
2024-08-23 1:12 ` Martin K. Petersen
2024-08-25 8:31 ` Sumit Saxena
2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2024-08-13 2:00 UTC (permalink / raw)
To: Tomas Henzl
Cc: linux-scsi, chandrakanth.patil, sathya.prakash, jjurca,
sumit.saxena, ranjan.kumar
> Patch 0c52310f2600 ("hrtimer: Ignore slack time for RT tasks in
> schedule_hrtimeout_range()") effectivelly shortens a sleep in a
> polling function in the driver. That is causing a perfomance
> regression as the new value of just 2us is too low. In certain test
> the perf drop is ~30%. Fix this by adjusting the sleep to 20us (close
> to the previous value).
Broadcom: Please review, thanks!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] mpi3mr: a perfomance fix
2024-08-03 15:04 [PATCH] mpi3mr: a perfomance fix Tomas Henzl
2024-08-13 2:00 ` Martin K. Petersen
@ 2024-08-23 1:12 ` Martin K. Petersen
2024-08-25 8:31 ` Sumit Saxena
2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2024-08-23 1:12 UTC (permalink / raw)
To: Tomas Henzl
Cc: linux-scsi, chandrakanth.patil, sathya.prakash, jjurca,
sumit.saxena, ranjan.kumar
> Patch 0c52310f2600 ("hrtimer: Ignore slack time for RT tasks in
> schedule_hrtimeout_range()") effectivelly shortens a sleep in a
> polling function in the driver. That is causing a perfomance
> regression as the new value of just 2us is too low. In certain test
> the perf drop is ~30%. Fix this by adjusting the sleep to 20us (close
> to the previous value).
Broadcom: Please review!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] mpi3mr: a perfomance fix
2024-08-03 15:04 [PATCH] mpi3mr: a perfomance fix Tomas Henzl
2024-08-13 2:00 ` Martin K. Petersen
2024-08-23 1:12 ` Martin K. Petersen
@ 2024-08-25 8:31 ` Sumit Saxena
2 siblings, 0 replies; 4+ messages in thread
From: Sumit Saxena @ 2024-08-25 8:31 UTC (permalink / raw)
To: Tomas Henzl
Cc: linux-scsi, chandrakanth.patil, sathya.prakash, jjurca,
ranjan.kumar
[-- Attachment #1: Type: text/plain, Size: 614 bytes --]
On Sat, Aug 3, 2024 at 8:34 PM Tomas Henzl <thenzl@redhat.com> wrote:
>
> Patch 0c52310f2600 ("hrtimer: Ignore slack time for RT tasks in schedule_hrtimeout_range()")
> effectivelly shortens a sleep in a polling function in the driver.
> That is causing a perfomance regression as the new value
> of just 2us is too low. In certain test the perf drop is ~30%.
> Fix this by adjusting the sleep to 20us (close to the previous value).
>
> Reported-by: Jan Jurca <jjurca@redhat.com>
> Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Looks good to me.
Acked-by: Sumit Saxena <sumit.saxena@broadcom.com>
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-08-25 8:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-03 15:04 [PATCH] mpi3mr: a perfomance fix Tomas Henzl
2024-08-13 2:00 ` Martin K. Petersen
2024-08-23 1:12 ` Martin K. Petersen
2024-08-25 8:31 ` Sumit Saxena
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox