2.6.30-rc deadline scheduler performance regression for iozone over NFS

From: Jeff Moyer
Date: Thu Apr 23 2009 - 10:03:20 EST


Hi,

I've been working on CFQ improvements for interleaved I/Os between
processes, and noticed a regression in performance when using the
deadline I/O scheduler. The test uses a server configured with a cciss
array and 1Gb/s ethernet.

The iozone command line was:
iozone -s 2000000 -r 64 -f /mnt/test/testfile -i 1 -w

The numbers in the nfsd's row represent the number of nfsd "threads".
These numbers (in MB/s) represent the average of 5 runs.

v2.6.29

nfsd's | 1 | 2 | 4 | 8
--------+---------------+-------+------
deadline| 43207 | 67436 | 96289 | 107590

2.6.30-rc1

nfsd's | 1 | 2 | 4 | 8
--------+---------------+-------+------
deadline| 43732 | 68059 | 76659 | 83231

2.6.30-rc3.block-for-linus

nfsd's | 1 | 2 | 4 | 8
--------+---------------+-------+------
deadline| 46102 | 71151 | 83120 | 82330


Notice the drop for 4 and 8 threads. It may be worth noting that the
default number of NFSD threads is 8.

Cheers,
Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/