Thread (68 messages) 68 messages, 8 authors, 2005-05-31

Re: Playing with SATA NCQ

From: Jens Axboe <hidden>
Date: 2005-05-29 19:02:51
Also in: lkml

On Sun, May 29 2005, Michael Thonke wrote:
Jens Axboe wrote,
quoted
There's really nothing to be tuned. If NCQ is enabled for your drive, it
will be printed in dmesg after the lba48 flag, such as:

ata1: dev 0 ATA, max UDMA/133, 488281250 sectors lba48 ncq

If you don't see NCQ there, your drive/controller doesn't support it.
Likewise you will have a queueing depth of > 1 if NCQ is enabled, check
/sys/block/sdX/device/queue_depth to see what the configured queueing
depth is for that device.

 
Hi Jens,

thanks for the short info now my next question how many queue depths
are healty and wanted?

For my Intel Corporation 82801GR/GH (ICH7 Family) Serial ATA Storage
Controllers cc=AHCI (rev 01)
and Samsung Hd160JJ SATAII drive the default queue is 30

    ioGL64NX_MACH~# cat /sys/block/sda/device/{model,queue_depth}
    SAMSUNG HD160JJ
    30

    hdparm -Tt /dev/sda

    /dev/sda:
    Timing cached reads: 4724 MB in 2.00 seconds = 2360.00 MB/sec
    Timing buffered disk reads: 164 MB in 3.02 seconds = 54.28 MB/sec

On random access the drives is a bit noisy but the subjective feeling
is great everything goes a bit faster.
You should see a nice performance improvement on random reads mainly,
with streamed threaded reads being a bit faster as well. Write
performance will be the same, if you had write back caching on before.
So the real win is random reads, and that can be a pretty big win.

Actually I would say that the drive should sound _less_ noisy if NCQ is
being really effective. Hard to judge of course, very subjective :)
And whats about the option /sys/block/sdx/device/queue_type = simple
what can be done here?
Nothing, unfortunately NCQ doesn't provided any way of doing ordered
tags. The only tunable is the queue_depth, you can set that anywhere
between 1 and 30.

-- 
Jens Axboe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help