Linus> In article <20020129165444.A26626@caldera.de>,
Linus> Christoph Hellwig <hch@caldera.de> wrote:
>> I've ported my hacked up version of Momchil Velikov's radix tree
>> radix tree pagecache to 2.5.3-pre{5,6}.
>>
>> The changes over the 2.4.17 version are:
>>
>> o use mempool to avoid OOM situation involving radix nodes.
>> o remove add_to_page_cache_locked, it was unused in the 2.4.17 patch.
>> o unify add_to_page and add_to_page_unique
>>
>> It gives nice scalability improvements on big machines and drops the
>> memory usage on small ones (if you consider my 64MB Athlon small :)).
Linus> Can you post the numbers on scalability (I can see the locking
Linus> improvement, but if you have numbers I'd be even happier) and any
Linus> benchmarks you have?
Well, these are dbench numbers from December, it's
2.4.17. Unfortunately, it appears OSDL have trouble with 2.5 currently ...
FWIW, box is 8-way PIII Xeon, 700MHz, 1MB cache, 8G RAM
rat-7 is with 128-way radix tree branch factor, rat-4 is with 16-way.
#Clients 2.4.17 2.4.17-rat-7 2.4.17-rat-4
---------------------------------------------------------
1 81.81 82.70 79.49
2 131.77 133.15 116.32
3 179.74 188.04 184.80
4 221.60 228.70 223.97
5 249.86 252.89 258.77
6 260.56 277.70 265.20
7 285.82 287.47 281.27
8 263.61 258.81 256.29
9 271.06 268.29 261.04
10 261.23 265.82 259.34
11 256.82 260.38 258.35
12 255.55 255.68 252.78
13 252.70 254.02 249.42
14 251.41 253.93 252.21
15 255.27 257.13 262.21
16 156.81 146.69 180.77
17 113.00 103.32 101.14
18 81.06 78.98 86.77
19 76.24 40.09 39.89
20 17.51 17.64 17.53
The results are similar on 4-way OSDL boxen and on the 12- and 16-way
PPC64 runs by Anton Blanchard:
# clients
[1 - ncpu] - linear increase in the throughput, small improvement over the
stock kernel, I guess we quickly hit other locks
[ncpu - 2 * ncpu] - flat
[2 * ncpu, +infty) - drops down do zero
Linus> The only real complaint I have is that I'd rather see "radix_root" than
Linus> "rat_root". Maybe it is just me, but the latter makes me wonder about
Linus> the sex-lives of small furry mammals. Which is not what I really want to
Linus> be thinking about.
Done. rat_* -> radix_tree_*
Linus> It looks straigthforward enough, so if you feel it is stable (and
Linus> cleaned up), I'd suggest just submitting it for real.
I'll wait for a day for some more comments (e.g. Ingo) and will submit
it.
Regards,
-velco
-
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/