Re: [PATCH v3 0/2] ata: DSM TRIM fix and improvements

Damien Le Moal <[email protected]>
Newsgroups org.kernel.vger.linux-ide
Organization Western Digital Research
Message-ID <[email protected]>
On 7/2/26 7:59 PM, Niklas Cassel wrote:
> Hello all,
> 
> This fixes DSM TRIM for 4Kn devices, which has ironically been broken
> since commit ef2d7392c4ec ("libata: SCT Write Same / DSM Trim"), which
> claimed to correct the DSM TRIM handling for 4Kn devices.
> 
> 
> The first commit is a small fix that can be backported, which limits
> the DSM TRIM to what we currently report in the Block Limits VPD page.
> We currently report a single 512 byte page of entries, i.e. 64 Entries,
> where each entry has a maximum of U16_MAX logical blocks.
> 
> The second commit:
> -Improves the support by reading the MAX PAGES PER DSM COMMAND limit and
>  populates the Block Limits VPD page accordingly.
> -Modifies ata_scsi_write_same_xlat() to properly support up to this amount
>  of pages.
> -Removed the intermediate copying to ata_scsi_rbuf, writes to the scsi
>  buffer directly.
> 
> Practically, sd still caps n_block at SD_MAX_WS16_BLOCKS
> (~3 pages actually used on 4Kn), so while removing the limit on
> ATA_SCSI_RBUF_SIZE (2048) - i.e. 4 pages), we will still be limited
> by SD_MAX_WS16_BLOCKS. The main improvement is not longer taking the
> ata_scsi_rbuf_lock and doing and extra copy from ata_scsi_rbuf.

Applied to for-7.3. Thanks!

-- 
Damien Le Moal
Western Digital Research
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.