Bob Tracy
2022-04-19 05:00:01 UTC
(Adding linux-scsi and linux-kernel, now that bisection is complete.)
Here's the implicated commit:
edb854a3680bacc9ef9b91ec0c5ff6105886f6f3 is the first bad commit
commit edb854a3680bacc9ef9b91ec0c5ff6105886f6f3
Author: Ming Lei <***@redhat.com>
Date: Thu Jan 27 23:37:33 2022 +0800
scsi: core: Reallocate device's budget map on queue depth change
We currently use ->cmd_per_lun as initial queue depth for setting up the
budget_map. Martin Wilck reported that it is common for the queue_depth to
be subsequently updated in slave_configure() based on detected hardware
characteristics.
As a result, for some drivers, the static host template settings for
cmd_per_lun and can_queue won't actually get used in practice. And if the
default values are used to allocate the budget_map, memory may be consumed
unnecessarily.
Fix the issue by reallocating the budget_map after ->slave_configure()
returns. At that time the device queue_depth should accurately reflect what
the hardware needs.
Link: https://lore.kernel.org/r/20220127153733.409132-1-***@redhat.com
Cc: Bart Van Assche <***@acm.org>
Reported-by: Martin Wilck <***@suse.com>
Suggested-by: Martin Wilck <***@suse.com>
Tested-by: Martin Wilck <***@suse.com>
Reviewed-by: Martin Wilck <***@suse.com>
Reviewed-by: Bart Van Assche <***@acm.org>
Signed-off-by: Ming Lei <***@redhat.com>
Signed-off-by: Martin K. Petersen <***@oracle.com>
drivers/scsi/scsi_scan.c | 55 +++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 50 insertions(+), 5 deletions(-)
Respectfully,
--Bob
v5.17-rc2 ok. v5.17-rc3 I get the disk sector errors and hang that I
reported in the first message in this thread.
This is on an Alpha Miata platform (PWS 433au) with QLogic ISP1020 controller.reported in the first message in this thread.
Here's the implicated commit:
edb854a3680bacc9ef9b91ec0c5ff6105886f6f3 is the first bad commit
commit edb854a3680bacc9ef9b91ec0c5ff6105886f6f3
Author: Ming Lei <***@redhat.com>
Date: Thu Jan 27 23:37:33 2022 +0800
scsi: core: Reallocate device's budget map on queue depth change
We currently use ->cmd_per_lun as initial queue depth for setting up the
budget_map. Martin Wilck reported that it is common for the queue_depth to
be subsequently updated in slave_configure() based on detected hardware
characteristics.
As a result, for some drivers, the static host template settings for
cmd_per_lun and can_queue won't actually get used in practice. And if the
default values are used to allocate the budget_map, memory may be consumed
unnecessarily.
Fix the issue by reallocating the budget_map after ->slave_configure()
returns. At that time the device queue_depth should accurately reflect what
the hardware needs.
Link: https://lore.kernel.org/r/20220127153733.409132-1-***@redhat.com
Cc: Bart Van Assche <***@acm.org>
Reported-by: Martin Wilck <***@suse.com>
Suggested-by: Martin Wilck <***@suse.com>
Tested-by: Martin Wilck <***@suse.com>
Reviewed-by: Martin Wilck <***@suse.com>
Reviewed-by: Bart Van Assche <***@acm.org>
Signed-off-by: Ming Lei <***@redhat.com>
Signed-off-by: Martin K. Petersen <***@oracle.com>
drivers/scsi/scsi_scan.c | 55 +++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 50 insertions(+), 5 deletions(-)
Respectfully,
--Bob