Andrew Morton wrote:
The 896M/128M split has a bit of a problem now each zone has its own LRU:
the size of the highmem zone is less than the amount of memory which is
described by the default /proc/sys/vm/dirty_ratio. So it is easy to
completely fill highmem with dirty pages. This causes a fairly large
amount of writeback via vmscan.c's writepage(). This causes poor I/O
submission patterns. This causes a simple large, linear `dd' write to run
at only 50-70% of disk bandwidth. (This was 6-12 months ago - it might be
a bit better now)
Hey, that rings a bell. I have a 3ware 7000-2 controller with two WD1200JB drives in RAID1. I find that if I dd from the disk, I get exactly the read throughput that is the max for the drives (47MB/sec). However, if I do a WRITE test, the performance is miserable.
I have been going back and forth with 3ware for months, and what's odd is that my drives with my controller in any machine other than the primary box get great write throughput, BUT on my main box with 1G of RAM, I get MISERABLE write throughput. When I should be getting 36MB/sec or faster, I get 8 to 12 MB/sec.
Now, I have tried limiting the memory with a mem= boot option, but that doesn't change the performance any.