[llvm] [OFFLOAD] Extend olMemRegister API to handle cases when a memory block may have been mapped outside of liboffload. (PR #172226)
Kevin Sala Penades via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 13 05:07:51 PST 2026
================
@@ -880,16 +841,17 @@ struct GenericDeviceTy : public DeviceAllocatorTy {
/// Deallocate data from the device or involving the device.
Error dataDelete(void *TgtPtr, TargetAllocTy Kind);
- /// Pin host memory to optimize transfers and return the device accessible
- /// pointer that devices should use for memory transfers involving the host
- /// pinned allocation.
- Expected<void *> dataLock(void *HstPtr, int64_t Size) {
- return PinnedAllocs.lockHostBuffer(HstPtr, Size);
+ /// Pin or register host memory to optimize transfers and return the device
+ /// accessible pointer that devices should use for memory transfers involving
+ /// the host pinned allocation.
+ Expected<void *> registerMemory(void *HstPtr, int64_t Size,
+ bool LockMemory = true) {
+ return PinnedAllocs.registerMemory(HstPtr, Size, LockMemory);
}
- /// Unpin a host memory buffer that was previously pinned.
- Error dataUnlock(void *HstPtr) {
- return PinnedAllocs.unlockHostBuffer(HstPtr);
+ /// Unpin or unregister a host memory buffer that was previously pinned.
----------------
kevinsala wrote:
`Unregisters and optionally page-unlocks...`
https://github.com/llvm/llvm-project/pull/172226
More information about the llvm-commits
mailing list