Sorry for the delay, here comes the new results from usemem which Kirill used in the previous patch.
Sequential access 16GiB file
Baseline with-patch
1 thread
minor fault 4,194,406 262,194
time, seconds 6.38 5.08
8 thread
minor fault 33,554,768 3,466,150
time, seconds 10.92 7.33
32 thread
minor fault 134,220,140 8,450,265
time, seconds 40.77 34.24
minor fault 134,220,140 8,450,265
time, seconds 40.77 34.24
60 thread
minor fault 251,661,943 15,790,478
time, seconds 77.23 65.19
minor fault 251,661,943 15,790,478
time, seconds 77.23 65.19
120 thread
minor fault 503,330,421 31,578,717
time, seconds 143.11 130.58
minor fault 503,330,421 31,578,717
time, seconds 143.11 130.58
Baseline with-patch
1 thread
minor fault 263,568 16,667
time, seconds 10.08 10.57
8 thread
minor fault 2,097,700 184,134
time, seconds 13.65 13.66
32 thread
minor fault 8,389,948 579,089
time, seconds 39.44 38.56
minor fault 8,389,948 579,089
time, seconds 39.44 38.56
60 thread
minor fault 15,733,099 1,019,478
time, seconds 73.67 72.63
minor fault 15,733,099 1,019,478
time, seconds 73.67 72.63
120 thread
minor fault 31,467,940 2,009,898
time, seconds 148.48 145.81
minor fault 31,467,940 2,009,898
time, seconds 148.48 145.81