[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7ecf20b7-794a-39d8-0b03-8f19d9167efd@maciej.szmigiero.name>
Date: Thu, 6 Oct 2022 15:06:28 +0200
From: "Maciej S. Szmigiero" <mail@...iej.szmigiero.name>
To: Damien Le Moal <damien.lemoal@...nsource.wdc.com>
Cc: linux-ide@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] ata: allow enabling FUA support in Kconfig
On 6.10.2022 01:38, Damien Le Moal wrote:
> On 9/27/22 04:51, Maciej S. Szmigiero wrote:
>> From: "Maciej S. Szmigiero" <maciej.szmigiero@...cle.com>
>>
>> Currently, if one wants to make use of FUA support in libata it is
>> necessary to provide an explicit kernel command line parameter in order to
>> enable it (for drives that report such support).
>>
>> In terms of Git archaeology: FUA support was enabled by default in early
>> libata versions but was disabled soon after.
>> Since then there were a few attempts to enable this support by default:
>> [1] (for NCQ drives only), [2] (for all drives).
>> However, the second change had to be reverted after a report came of
>> an incompatibility with the HDD in 2011 Mac Mini.
>>
>> Enabling FUA avoids having to emulate it by issuing an extra drive cache
>> flush for every request that have this flag set.
>> Since FUA support is required by the ATA/ATAPI spec for any drive that
>> supports LBA48 and so these days should be pretty widespread let's provide
>> an ability to enable it by default in Kconfig.
>
> This can be done by adding "libata.fua=1" to the CONFIG_CMDLINE option. So
> I do not see the need to add yet another config option.
A specific Kconfig option is more structured than a free-form
CONFIG_CMDLINE (which is also technically a per-arch option, but seems
to be widely supported across arches).
That's why there is a lot (100+) of similar Kconfig default-changing
options, a quick sample of these (in no particular order):
SOUND_OSS_CORE_PRECLAIM, SND_INTEL_BYT_PREFER_SOF, LSM,
SECURITY_SELINUX_CHECKREQPROT_VALUE, SECURITY_LOADPIN_ENFORCE,
SECURITY_APPARMOR_DEBUG_MESSAGES, IP_VS_TAB_BITS, IP_SET_MAX,
MAC80211_HAS_RC, SLUB_DEBUG_ON, KFENCE_SAMPLE_INTERVAL, PRINTK_TIME,
DEBUG_OBJECTS_ENABLE_DEFAULT, RCU_NOCB_CPU_DEFAULT_ALL, ...
libata currently has only one similar option: SATA_MOBILE_LPM_POLICY,
so it's not like a person performing kernel configuration is
overloaded with questions here.
But at the same time, I respect your decision as a maintainer of
this code.
>
> Patch 1 looks good. I will queue it up once rc1 is out.
Thanks,
Maciej
Powered by blists - more mailing lists