[all-commits] [llvm/llvm-project] 3d67cf: [JITLink] Always unmap standard segments in InProc...
Min-Yih Hsu via All-commits
all-commits at lists.llvm.org
Fri Feb 16 16:20:09 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3d67cf681a728e4cf0ab9947c0dd07539dda8b74
https://github.com/llvm/llvm-project/commit/3d67cf681a728e4cf0ab9947c0dd07539dda8b74
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
Log Message:
-----------
[JITLink] Always unmap standard segments in InProcessMemoryManager::deallocate (#81943)
Right now InProcessMemoryManager only releases a standard segment (via
sys::Memory::releaseMappedMemory) in `deallocate` when there is a
DeallocAction associated, leaving residual memory pages in the process
until termination.
Despite being a de facto memory leak, it won't cause a major issue if
users only create a single LLJIT instance per process, which is the most
common use cases. It will, however, drain virtual memory pages if we
create thousands of ephemeral LLJIT instances in the same process.
This patch fixes this issue by releasing every standard segments
regardless of the attached DeallocAction.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list