Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Nov 2009 18:38:28 +0200
From:      Alexander Motin <mav@FreeBSD.org>
To:        Norikatsu Shigemura <nork@FreeBSD.org>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: How do I use NCQ of Intel X25-E(SSD) on ahci(4)?
Message-ID:  <4B042304.8060807@FreeBSD.org>
In-Reply-To: <20091119004651.7432a6e4.nork@FreeBSD.org>
References:  <20091119004651.7432a6e4.nork@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi.

Norikatsu Shigemura wrote:
> 	I have a Intel 64GB SSD(X25-E) and a Western Digital Caviar Green
> 	1TB HDD (WD10EADS), and use them on ahci(4).  ahci(4) can use NCQ
> 	of WD10EADS, but doesn't use NCQ of X25-E.
> 
> # camcontrol identify ada0
> pass0: <SSDSA2SH064G1GC INTEL 045C8790> ATA/ATAPI-7 SATA 2.x device
> pass0: 300.000MB/s transfers 
> 
> Native Command Queuing (NCQ)   yes              30/0x1E

Here is the reason                                ^^^

This drive support less tags (31) then your AHCI controller does (32).
Support for such case is not implemented yet. As temporary solution you
may limit controller to use only 31 tag, then NCQ will be used. All you
need is to go to ahci.c and change line
ch->numslots = ...;
to
ch->numslots = min(31, ...);

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B042304.8060807>