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: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org