David Brodbeck wrote:
Bill Anderson wrote:
I noticed that the default elevator applies to everything, including
USB memory sticks. I thought the block device driver would change the
I/O scheduler to something more appropriate for a memory stick, such
as the noop scheduler.
While we're on the subject, I've also noticed that memory sticks are no
longer mounted with synchronous writes in 10.2. I very nearly found
this out the hard way, by losing data. I now make sure I issue a 'sync'
command before unplugging my memory stick.
I also noticed this behavior. At one point the default I/O scheduler was
anticipatory, the current default scheduler is CFQ. I suspect this
behavior is a result of one of the CFQ parameters, as it keeps thinking
the memory stick is a disk and attempts to minimize seeks. The resulting
delay caused by the elevator policy could result in a delay to write
operations, especially if you were doing a series of reads. With the
noop scheduler, this behavior disappears as there is attempt to optimize
seeks. I have to go through the noop code, but I don't think it has a
bias towards reads over writes. With other I/O schedulers, reads have
operations have precedence of writes, as long as they don't starve writes.
The documentation on CFQ is very sparse, and a bit dated. Does anyone
know where I can find current CFQ documentation. I am especially
interested in documents related to tuning the current version of CFQ.
Bill Anderson
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]