Kernel: 2.4.17rc2aa2
Test: Change highmem settings - run dbench 32, 128.
Conclusion: More "normal" memory gives better dbench throughput
on box with 1024MB ram.
I noticed the 3.5 GB User Address Space setting in the
Andrea Arcangeli's 2.4.17rc2aa2 and thought maybe it was
a way to have 1GB (or more) RAM and not use highmem. It
obviously has a different purpose, but it led me to run
dbench to see how throughput changes when highmem is a
larger or smaller portion of memory.
highmem
-------
CONFIG_HIGHMEM4G=y
CONFIG_HIGHMEM=y
This configuration had excellent numbers. Highmem is 128M.
Memory: 1029848k/1048512k available (1053k kernel code, 18276k reserved, 260k data, 240k init, 131008k highmem)
dbench
Throughput 82.4374 MB/sec (NB=103.047 MB/sec 824.374 MBit/sec) 32 procs
Throughput 42.1931 MB/sec (NB=52.7413 MB/sec 421.931 MBit/sec) 128 procs
3.5 gb user address space
-------------------------
CONFIG_HIGHMEM4G=y
CONFIG_HIGHMEM=y
CONFIG_05GB=y
Here Highmem is 640MB. Throughput for dbench 32 is 31% lower than normal highmem.
dbench 128 throughput was 42% lower.
Memory: 1029848k/1048512k available (1053k kernel code, 18276k reserved, 260k data, 240k init, 655296k highmem)
dbench
Throughput 56.9061 MB/sec (NB=71.1327 MB/sec 569.061 MBit/sec) 32 procs
Throughput 24.4228 MB/sec (NB=30.5285 MB/sec 244.228 MBit/sec) 128 procs
nohighmem
---------
CONFIG_NOHIGHMEM=y
With nohighmem, total memory drops to 896MB. Nonetheless, dbench 32 was
9% higher. The dbench 128 throughput was < 1% lower, which is not
significant for this test.
Memory: 901804k/917504k available (1049k kernel code, 15312k reserved, 259k data, 236k init, 0k highmem)
dbench
Throughput 90.0235 MB/sec (NB=112.529 MB/sec 900.235 MBit/sec) 32 procs
Throughput 41.805 MB/sec (NB=52.2563 MB/sec 418.05 MBit/sec) 128 procs
Hardware:
1333 Athlon
1024 MB RAM
1027 MB swap
P.S. Andrea, enjoy your holidays!
--
Randy Hron