Performance data for different FAULT_AROUND_ORDER values from 4 socket Power7 system (128 Threads and 128GB memory) is below. Fault around order (FAO) value of 3 looks more advantageous. FAULT_AROUND_ORDER Baseline 1 3 4 5 7 Linux build (make -j64) minor-faults 7184385 5874015 4567289 4318518 4193815 4159193 times in seconds 61.433776136 60.865935292 59.245368038 60.630675011 60.56587624 59.828271924 Linux rebuild (make -j64) minor-faults 303018 226392 146170 132480 126878 126236 times in seconds 5.659819172 5.723996942 5.591238319 5.622533357 5.878811995 5.550133096 Two synthetic tests: access every word in file in sequential/random order. Marginal Performance gains seen for FAO value of 3 when compared to value of 4. Sequential access 16GiB file FAULT_AROUND_ORDER Baseline 1 3 4 5 7 1 thread minor-faults 262302 131192 32873 16486 8291 2351 times in seconds 53.071497352 52.945826882 52.931417302 52.928577184 52.859285439 53.116800539 8 threads minor-faults 2097314 1051046 263336 131715 66098 16653 times in seconds 54.385698561 54.603652339 54.771282004 54.488565674 54.496701531 54.962142189 32 threads minor-faults 8389267 4218595 1059961 531319 266463 67271 times in seconds 60.61715047 60.827964038 60.46412673 60.266045885 60.492398315 60.24531921 64 threads minor-faults 16777455 8485998 2178582 1092106 544302 137693 times in seconds 86.471334554 84.412415735 85.208303832 84.331473392 85.598793479 84.695469266 128 threads minor-faults 33555267 17734522 4710107 2380821 1182707 292077 times in seconds 117.535385569 114.291359037 112.593908276 113.081807611 114.358686588 114.491043011 Random access 1GiB file FAULT_AROUND_ORDER Baseline 1 3 4 5 7 1 thread minor-faults 16503 8664 2149 1126 610 437 times in seconds 43.843573808 48.042069805 50.580779682 54.282884593 52.641739876 51.803302129 8 threads minor-faults 131201 70916 17760 8665 4250 1149 times in seconds 46.262626804 55.942851041 56.629191584 57.97044714 55.417557594 56.019709166 32 threads minor-faults 524959 265980 67282 33601 16930 4316 times in seconds 67.754175928 69.85012331 71.750338061 71.053074643 68.90728294 71.250103217 64 threads minor-faults 1048831 528829 133256 66700 33428 8776 times in seconds 96.674025305 93.109961822 87.441777715 91.986332028 88.686748472 93.101434306 128 threads minor-faults 2098043 1053224 266271 133702 66966 17276 times in seconds 156.525792044 152.117971403 147.523673243 148.560226602 148.596575663 149.389288429 Worst case scenario: we touch one page every 16M to demonstrate overhead. Touch only one page in page table in 16GiB file FAULT_AROUND_ORDER Baseline 1 3 4 5 7 1 thread minor-faults 1077 1064 1051 1048 1046 1045 times in seconds 0.00615347 0.008327379 0.019775282 0.034444003 0.05905971 0.220863339 8 threads minor-faults 8252 8239 8226 8223 8220 8224 times in seconds 0.04387392 0.059859294 0.113897648 0.199707764 0.361585762 1.343366843 32 threads minor-faults 32852 32841 32825 32826 32824 32828 times in seconds 0.191404544 0.21907773 0.433207123 0.72430447 1.334983196 4.97727449 64 threads minor-faults 65652 65642 65629 65622 65623 65634 times in seconds 0.402140429 0.510806718 0.854288645 1.412329805 2.556707704 8.711074863 128 threads minor-faults 131255 131239 131228 131228 131229 131243 times in seconds 0.817782148 1.124631348 2.023730928 3.184792382 5.331392072 17.309524609 Madhavan Srinivasan (1): mm: move FAULT_AROUND_ORDER to arch/ arch/powerpc/include/asm/pgtable.h | 6 ++++++ arch/x86/include/asm/pgtable.h | 5 +++++ include/asm-generic/pgtable.h | 10 ++++++++++ mm/memory.c | 2 -- 4 files changed, 21 insertions(+), 2 deletions(-) -- 1.7.10.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>