[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <40b9e090-5ba3-1191-4fe9-80467284ae72@opensource.wdc.com>
Date: Wed, 21 Sep 2022 13:04:51 +0900
From: Damien Le Moal <damien.lemoal@...nsource.wdc.com>
To: John Garry <john.garry@...wei.com>, jejb@...ux.ibm.com,
martin.petersen@...cle.com, hare@...e.de, hch@....de
Cc: linux-ide@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-scsi@...r.kernel.org, brking@...ibm.com
Subject: Re: [PATCH RFC 0/6] libata/scsi/libsas: Allocate SCSI device earlier
for ata port probe
On 9/20/22 19:27, John Garry wrote:
> Currently for libata the SCSI device (sdev) associated with an ata_device
> is allocated when the port probe has completed.
>
> It's useful to have the SCSI device and its associated request queue
> available earlier for the port probe. Specifically if we have the
> request queue available, then we can:
> - Easily put ATA qc in SCSI cmnd priv data
> - Send ATA internal commands on SCSI device request queue for [0]. The
> current solution there is to use the shost sdev request queue, which
> isn't great.
>
> This series changes the ata port probe to alloc the sdev in the
> ata_device revalidation, and then just do a SCSI starget scan afterwards.
>
> Why an RFC?
> 1. IPR driver needs to be fixed up - it does not use ATA EH port probe
> Mail [1] needs following up
Yes. If IPR could be converted to ata error_handler, a lot of code can
be simplified in libata too.
> 2. SATA PMP support needs verification, but I don't have a setup
Port multiplier behind a sas HBA will be challenging to setup :)
I can try, but I will need to open up one of my servers and hook a small
PMP box to one of the pm8001 plugs. I may have the cables for that...
Let me check.
> 3. This series needs to be merged into or go after [0]
>
> Patch 1/6 could be merged now.
>
> [0] https://lore.kernel.org/linux-ide/1654770559-101375-1-git-send-email-john.garry@huawei.com/
> [1] https://lore.kernel.org/linux-ide/369448ed-f89a-c2db-1850-91450d8b5998@opensource.wdc.com/
>
> Any comments welcome - please have a look.
>
> Based on v6.0-rc4 and tested for QEMU AHCI and libsas.
>
> John Garry (6):
> scsi: core: Use SCSI_SCAN_RESCAN in __scsi_add_device()
> scsi: scsi_transport_sas: Allocate end device target id in the rphy
> alloc
> scsi: core: Add scsi_get_dev()
> ata: libata-scsi: Add ata_scsi_setup_sdev()
> scsi: libsas: Add sas_ata_setup_device()
> ata: libata-scsi: Allocate sdev early in port probe
>
> drivers/ata/libata-eh.c | 4 +++
> drivers/ata/libata-scsi.c | 45 +++++++++++++++++++++----------
> drivers/ata/libata.h | 1 +
> drivers/scsi/libsas/sas_ata.c | 20 ++++++++++++++
> drivers/scsi/scsi_scan.c | 28 ++++++++++++++++++-
> drivers/scsi/scsi_transport_sas.c | 25 +++++++++++------
> include/linux/libata.h | 2 ++
> include/scsi/scsi_host.h | 3 +++
> 8 files changed, 105 insertions(+), 23 deletions(-)
>
--
Damien Le Moal
Western Digital Research
Powered by blists - more mailing lists