I'm trying to use huge pages for .text segments of my application to reduce
TLB misses. I successfully relinked my app with libhugetlbfs support and
.text segment of main executable is now being loaded in huge page backed
memory.
However main code base of the app is structured as several shared
libraries, so I want these libs also be backed by huge pages. Simply
linking .so with same options as main app and setting env params do not
lead to .so .text segments to be on huge pages.(I see all our .so in
/proc/PID/smaps loaded as normal with no huge pages)
Is there any way how one could have .so loaded in huge pages? I could do a
static linking of my app but it will dramatically complicate a build.
PS: Some rational. This is high frequency trading platform so we have our
threads waken up for very small time intervals (~1microsec) to process new
data and then going back sleeping. So every time thread get scheduled whole
TLB for instructions is reprocessed, with many small helper functions
scattered around ~10M code base casing tons of iTLB misses.
------------------------------------------------------------------------------
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive.
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
_______________________________________________
Libhugetlbfs-devel mailing list
Libhugetlbfs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel