Oh man... I'd have look into that. Off the top of my head I don't know how you'd make that happen. Way back when I'd have said no. Now with all the folio updates to the Linux kernel memory handling I'm not sure. I think you'd have to take care to make sure the data gets into to page cache as huge pages. If not then when you tried to madvise() or whatever the buffer to use huge pages it would likely just ignore you. In theory it could aggregate the small pages into huge pages but that would be more latency bound work and it's not clear how that impacts the page cache.
But the arm64 systems with 16K or 64K native pages would have fewer faults.
jared_hulbert|5 months ago
But the arm64 systems with 16K or 64K native pages would have fewer faults.
inetknght|5 months ago
Pass these flags to your mmap call: (MAP_HUGETLB | MAP_HUGE_1GB)
inetknght|5 months ago
Yes. Tens- or hundreds- of gigabytes of 4K page table entries take a while for the OS to navigate.