Re: [PATCH v5 9/9] libahci: Introduce ncq_prio_supported sysfs sttribute

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 11, 2021 at 11:30:52PM +0000, Damien Le Moal wrote:
> On 2021/08/12 4:07, Niklas Cassel wrote:
> > On Tue, Aug 10, 2021 at 02:49:39PM +0900, Damien Le Moal wrote:
> >> Currently, the only way a user can determine if a SATA device supports
> >> NCQ priority is to try to enable the use of this feature using the
> >> ncq_prio_enable sysfs device attribute. If enabling the feature fails,
> >> it is because the device does not support NCQ priority. Otherwise, the
> >> feature is enabled and indicates that the device supports NCQ priority.
> >>
> >> Improve this odd interface by introducing the read-only
> >> ncq_prio_supported sysfs device attribute to indicate if a SATA device
> >> supports NCQ priority. The value of this attribute reflects if the
> >> device flag ATA_DFLAG_NCQ_PRIO is set or cleared.
> >>
> >> Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxx>
> >> Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
> >> ---
> >>  drivers/ata/libahci.c     |  1 +
> >>  drivers/ata/libata-sata.c | 24 ++++++++++++++++++++++++
> >>  include/linux/libata.h    |  1 +
> >>  3 files changed, 26 insertions(+)
> >>
> >> diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
> >> index fec2e9754aed..5b3fa2cbe722 100644
> >> --- a/drivers/ata/libahci.c
> >> +++ b/drivers/ata/libahci.c
> >> @@ -125,6 +125,7 @@ EXPORT_SYMBOL_GPL(ahci_shost_attrs);
> >>  struct device_attribute *ahci_sdev_attrs[] = {
> >>  	&dev_attr_sw_activity,
> >>  	&dev_attr_unload_heads,
> >> +	&dev_attr_ncq_prio_supported,
> > 
> > Hello Damien,
> > 
> > I do not fully understand if NCQ is only supported for AHCI controllers,
> > or if vanilla SATA controllers (without AHCI) can support it as well
> > (since NCQ is part of the ATA Command Set - 5).
> > 
> > However, I do think that you might have missed adding the
> > dev_attr_ncq_prio_supported
> > attribute for the ata_ncq_sdev_attrs struct in libata-sata.c
> > 
> > (The ata_ncq_sdev_attrs struct already has the dev_attr_ncq_prio_enable
> > attribute, so it makes sense that it should have the new supported
> > attribute as well.)
> 
> Good catch. I indeed forgot that one. Will add it.

When respinning this patch, we should document this new attribute in:
Documentation/ABI/testing/sysfs-block-device
as well. (ncq_prio_enable is already documented there.)

Kind regards,
Niklas



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux