[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <AANLkTinmkAhCVOnF+x=Azfypg6Faadq=rn+Wuk+UdUJD@mail.gmail.com>
Date: Fri, 7 Jan 2011 11:45:43 -0500
From: Yuehai Xu <yuehaixu@...il.com>
To: Jens Axboe <axboe@...nel.dk>
Cc: linux-kernel@...r.kernel.org, cmm@...ibm.com, rwheeler@...hat.com,
vgoyal@...hat.com, czoccolo@...il.com, yhxu@...ne.edu
Subject: Re: Who does determine the number of requests that can be serving
simultaneously in a storage?
> You don't need those values. btt can just look at dispatch and
> completion events to get an exact queue depth number at any point in
> time.
Cool tool, I need to learn it further.
> I would double check that NCQ really is active, not just supported. For
> instance, the controller needs to support it too. If you look at dmesg
> from when it detects your drive, it should print the queue depth used.
> Or you can check queue_depth in the sysfs scsi_device directory. It
> should be 31 (32 in total, but one has to be reserved for error
> handling) for NCQ enabled, or 1 if if isn't.
>
You are right, info from dmesg:
[ 1.476660] ata4.00: 156301488 sectors, multi 16: LBA48 NCQ (depth 0/32)
and queue_depth is 1.
It proves that the NCQ of SSD is not actually activated. Error
message(bash: /sys/block/sdb/device/queue_depth: Permission denied) is
got when I "echo 31 > /sys/block/sdb/device/queue_depth" even though I
am already with the privilege of root.
Anyway, one thing is certain, it is because the NCQ of SSD is not
activated, that the number of requests in flight is 1.
I really appreciate your help, thanks very much!
Yuehai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists