18 Apr 2000 davem   » (Master)

I think I know why Andrea's new elevator code is so much worse than 2.2.x's disk sorting. The general scheme of the elevator is to keep low the latency introduced to old requests by new requests being added. In doing this, it prevents merging with other requests to the same area of the disk. In actuality this "latency reduction" is really increasing latency, because a missed merge means it will now take two I/O operations to move data which could have been done by a single request. Also, since the elevator will move the I/O request towards the end of the I/O queue, it is almost certain that requests to other sectors will happen first, thus an unnecessary disk seek. I have no idea why the elevator make LVM/IDE dbench runs faster for him, as it seems quite wrong fundamentally.
Will study this more soon.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!