-
由 Nickolai Zeldovich 提交于
Some results from mapbench on josmp (with DEBUG 0 and VM_RADIX): When TLB shootdowns are disabled (comment out tlbflush in vmap::remove), mapbench is perfectly scalable (perhaps a little slow, but it's hard to tell, because I didn't used to run with readaccess=1): $ time mapbench 1 12403435727 cycles $ time mapbench 2 12439895511 cycles $ time mapbench 16 12200449501 cycles With TLB shootdowns, things are slightly less scalable, and significantly slower: $ time mapbench 1 40044138778 cycles $ time mapbench 2 44034668320 cycles $ time mapbench 16 57569203944 cycles Lazy TLB shootdowns improve performance on 1 core, and have some but not nearly perfect scalability: $ time mapbench 1 12658404885 cycles $ time mapbench 2 29790759720 cycles $ time mapbench 16 39160961925 cycles Next step is to understand why TLB shootdowns are so expensive and how to make them cheaper/scalable.
96b3c5e7