How do I use NCQ of Intel X25-E(SSD) on ahci(4)?

Alexander Motin mav at
Mon Dec 14 11:27:59 UTC 2009

Ivan Voras wrote:
> 2009/11/18 Alexander Motin <mav at>:
>> Ivan Voras wrote:
>>> I know next to nothing about AHCI and drivers so this might be obviously
>>> wrong but wouldn't a quick (i.e. MFC-able) obvious temporary fix be to say
>>> numslots = min(get_minimum_tags_of_all_drives(), ...)
>>> ?
>> Problem is that SIM driver has no idea about devices capabilities, and
>> also doesn't have method to resize queue after attach. In SCSI case,
>> tags are random and only simultaneous number of request is limited, and
>> this is handled fine by CAM. SATA NCQ is more restrictive, allowing to
>> use only tags 0..(N-1). I am planning to make XPT inform SIM about
>> supported tags for each device, to allow SIM to use that information
>> while scheduling requests. I didn't do it yet, just because most of
>> devices able to handle all 32 tags possible on SATA. This Intel SSD is
>> one of rare exceptions.
> Ok, (still thinking about something that could be MFC-able in an
> emergency), how about adding a loader tunable integer instead of "32"?

Just for note, it is already fixed and merged.

Alexander Motin

More information about the freebsd-current mailing list