Now to gain a good result, lets use 1G Huge Pages. Kernel cmdline: default_hugepagesz=1G hugepagesz=1G hugepages=1210
Gives: HugePages_Total: 1210 HugePages_Free: 1210 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 1048576 kB
Guest config extra: <memoryBacking> <hugepages/> </memoryBacking>
Slightly changed profile:
Samples: 28K of event 'cycles:ppp', Event count (approx.): 19134377327 Overhead Shared Object Symbol 27.02% [kernel] [k] follow_hugetlb_page 11.23% [kernel] [k] __get_user_pages 9.10% [kernel] [k] _raw_spin_lock 7.58% [kernel] [k] down_read 7.53% [kernel] [k] up_read 6.14% [kernel] [k] huge_pte_offset
T4: use 1.2 TB with one PT device, 1G sized explicit HugePages #1: 59 seconds #2: 21 seconds #3: 18 seconds
This is what you'd expect from such a huge guest, and it works just as expected.
Now to gain a good result, lets use 1G Huge Pages. hugepagesz= 1G hugepagesz=1G hugepages=1210
Kernel cmdline:
default_
Gives:
HugePages_Total: 1210
HugePages_Free: 1210
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 1048576 kB
Guest config extra:
<memoryBacking>
<hugepages/>
</memoryBacking>
Slightly changed profile:
Samples: 28K of event 'cycles:ppp', Event count (approx.): 19134377327
Overhead Shared Object Symbol
27.02% [kernel] [k] follow_hugetlb_page
11.23% [kernel] [k] __get_user_pages
9.10% [kernel] [k] _raw_spin_lock
7.58% [kernel] [k] down_read
7.53% [kernel] [k] up_read
6.14% [kernel] [k] huge_pte_offset
T4: use 1.2 TB with one PT device, 1G sized explicit HugePages
#1: 59 seconds
#2: 21 seconds
#3: 18 seconds
This is what you'd expect from such a huge guest, and it works just as expected.