Ah. dbench. The change to balance_dirty_state() absolutely
cripples dbench throughput. And that really doesn't matter,
unless you want to run dbench for a living.
You can get the dbench throughput back by increasing the
async and sync dirty buffer writeback thresholds:
echo 70 64 64 256 30000 3000 80 0 0 > /proc/sys/vm/bdflush
> Noatun stops after 9-10 seconds of the "dbench 32" run and then every few
> seconds, again and again. The hiccup take place more often but for shorter
> times then without your patch.
Probably Noatun needs larger buffers if it is to survive concurrent
dbench. You may see improvement with
elvtune -b N /dev/hdaX
where 8 >= N >= 1.
> System was:
>
> 2.4.16 +
> preempt +
> lock-break-rml-2.4.16-1.patch +
> all ReiserFS patches for 2.4.16
>
> 1 GHz Athlon II
> MSI MS-6167 Rev 1.0B (AMD Irongate C4, without bypass)
> 640 MB PC100-2-2-2 SDRAM
> U160 IBM 18 GB disk
> AHA-2940 UW
>
> > It keeps things localised. It works. It's tunable. It's the best
> > IO scheduler presently available.
>
> Throughput was a little lower ;-)
dbench? Throughput seems to scale with the fourth power of the
amount of RAM you chuck at it :)
> Don't forget to tune max-readahead.
Yes. Readahead is fairly critical and there may be additional fixes
needed in this area.
Someone recently added the /proc/sys/vm/max_readahead (?) tunable.
Beware of this. It only works for device drivers which do not
populate their own readhead table. For IDE, it *looks* like
it works, but it doesn't. For IDE, the only way to alter VM
readahead is via
echo file_readahead:N > /proc/ide/ide0/hda/settings
where N is in kilobytes in 2.4.16 kernels. In earlier kernels
it's kilopages (!).
-
-
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/