commit | e98a620c59ac20b13e2de796164cc67f050ed2bf | [log] [tgz] |
---|---|---|
author | Jason Evans <jasone@canonware.com> | Thu Nov 17 13:36:17 2016 -0800 |
committer | Jason Evans <jasone@canonware.com> | Thu Nov 24 00:15:55 2016 -0800 |
tree | 860d74fd06a3d46e3f7b2382e8d2e1da3c0c6e5a | |
parent | fc11f3cb8443c029f54bf9ba21574b0f61996dd2 [diff] |
Mark partially purged arena chunks as non-hugepage. Add the pages_[no]huge() functions, which toggle huge page state via madvise(..., MADV_[NO]HUGEPAGE) calls. The first time a page run is purged from within an arena chunk, call pages_nohuge() to tell the kernel to make no further attempts to back the chunk with huge pages. Upon arena chunk deletion, restore the associated virtual memory to its original state via pages_huge(). This resolves #243.