tech-kern archive

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

Re: ATA TRIM?



On Fri, 9 Dec 2022, Mouse wrote:

What is the value of `max_dsm_blocks' that your drive reports?
Unfortunately, atactl(8) doesn't show this currently.

I added that - and the version numbers - to my printf.

atap_ata_major is 2040, 0x7f8.
atap_ata_minor is 283, 0x11b.
max_dsm_blocks is 8.


OK, so any requests >4K will have to be packaged into further range
requests--subject to offset and length alignment constraints (for which
you'll have to carry a quirks table--though I can't find your device
in the FreeBSD driver).


I tried trimming 8 at 0.  Still the same syndrome: TRIM timeout,
flush timeout, device timeout reading [...]


You may have to set the AT_LBA48 flag (not sure if this is present on 5.2)
so that `wdccommandext' gets called rather than `wdccommand' for the
ATA_DATA_SET_MANAGEMENT command. All this from:

https://github.com/freebsd/freebsd-src/blob/main/sys/cam/ata/ata_da.c

Hope this helps,
-RVP


Home | Main Index | Thread Index | Old Index