Messages in this thread | | | Date | Thu, 20 May 2004 15:23:05 -0700 | From | Andrew Morton <> | Subject | Re: Random file I/O regressions in 2.6 [patch+results] |
| |
Andrew Morton <akpm@osdl.org> wrote: > > There's still something wrong here. 2.6.6-bk+deadline is pretty equivalent > to 2.4 from an IO scheduler point of view in this test. Yet it's a couple > of percent slower. > > I don't know why you're still seeing significant discrepancies. > > What sort of disk+controller system are you using? If scsi, what is the > tag queue depth set to? Is writeback caching enabled on the disk?
If the 2.4 and 2.6 disk accounting statitics are to be believed, they show something interesting.
Workload is one run of
sysbench --num-threads=16 --test=fileio --file-total-size=2G --file-test-mode=rndrw run
on ext2.
2.4.27-pre2:
rio: 5549 (Read requests issued) rblk: 259680 (Total sectors read) wio: 42398 (Write requests issued) wblk: 4368056 (Total sectors written)
2.6.6-bk, as:
reads: 5983 readsectors: 201192 writes: 22548 writesectors: 4343184
- Note that 2.6 read 20% less data from the disk. We observed this before. It appears that 2.6 page replacements decisions are working better for this workload.
- Despite that, 2.6 issued *more* read requests. So it is submitting more, and smaller I/O's
- Both kernels wrote basically the same amount of data. 2.6 a little less, perhaps because of fsync() optimisations.
- But 2.6 issued far fewer write requests. Half as many as 2.4 - a huge difference. There are a number of reasons why this could happen but frankly, I don't have a clue what's going on in there.
Given that 2.6 is issuing less IO requests it should be performing faster than 2.4. The reason that the two kernels are achieving about the same throughput despite this is that the disk is performing writeback caching and is absorbing 2.4's smaller write requests.
I set the IDE disk to do writethrough (hdparm -W0):
2.6.6-bk, as:
Time spent for test: 89.9427s 0.04s user 5.24s system 1% cpu 4:51.62 total
2.4.27-pre2:
Time spent for test: 107.8293s 0.04s user 6.00s system 1% cpu 7:26.47 total
as expected.
Open questions are:
a) Why is 2.6 write coalescing so superior to 2.4?
b) Why is 2.6 issuing more read requests, for less data?
c) Why is Alexey seeing dissimilar results? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |