2MB (hugetlb) page support on Linux
jasone at canonware.com
Thu Jan 31 12:02:56 PST 2013
On Jan 31, 2013, at 8:54 AM, Vinay Y S wrote:
> Ok, I understand that due to more allocations per page the probability of a page being released back to OS will reduce. But is it correct to say that wastage will reduce for 4KB-8KB (and other higher) class allocations and hence utilization will improve?
Internal fragmentation would be reduced for 4-8 KiB allocations, but external fragmentation might increase substantially, depending on the application.
> I also saw the 'medium' size class in the git log as well as on this mailing list discussions. Is there a way to re-introduce that back with, maybe, build-time configurable tradeoffs for memory efficiency vs (?) lock-free purging?
As it happens, I've been working on ways to reintroduce medium size classes over the past few days. The short synopsis is that I think it is possible to reintroduce medium size classes without dirty page purging sacrifices, but it is going to be complicated to maintain high concurrency between allocation/deallocation and dirty page purging. The current code protects all dirty page tracking with the arena mutex, but dirty page purging for medium size classes will require a different approach, probably based on atomic operations.
More information about the jemalloc-discuss