Two severe disk read bugs: In a nutshell (see attached for gory details). Moving from 2.6.6 to 2.6.7 dropped multi-threaded RAID0 read performance from 429MB/Sec to 81MB/Sec. Single threaded reads improved 368MB/Sec to 418MB/Sec. The code in drivers/md has no effect on this problem. Clearly this is a thread access issue. Redhat ES3.0 on x86_64 or i686. The underlying hardware is capable of 955MB/Sec disk reads off 28 drives, 541MB/Sec off 14 drives. Tuning I/O block size (11KB to 239KB) and BLKRASET size (448 to 1024 or more) helps a little. System idle goes from 0% to 50% (2.6.6 to 2.6.8-rc3). File reads (ext3/raid0) exceeding physical ram size cause kswapd to go out to lunch. The I/O rate drops to 10MB/Sec. Under 2.6.6 there was NO effect for large files. Using fadvise64() helps a little on i686, but hurts on x86_64. fadvise64_64() is just plain broken. This was discovered while testing I/O throughput for a paper being submitted to ASPLOS BEACON workshop - October 2004. I'll run most any experiment on either architecture to help diagnose this, and will fiddle kernel code and debug options as requested. Source code to the test suite available on request to developers only. Mr. Berkley Shands berkleydssimail.com berkleycse.wustl.edu