From 54e3e5ab8f417860e1424e0d76ccef8294f25eb8 Mon Sep 17 00:00:00 2001 From: Eric Huang Date: Fri, 6 Jan 2023 17:15:43 -0500 Subject: [PATCH] Revert "libhsakmt: Remove unnecessary CPU unmap" This reverts commit 1bb6d872acf4e35e4b1dc5c8f37ec46d16fc90aa. It causes a regression in pytorch benchmark. Change-Id: I96173dbd061cf38d6f451c02cb181ae51b7f625e Signed-off-by: Eric Huang [ROCm/ROCR-Runtime commit: 505287412f476d0a223327453d66b7a92279eb2f] --- projects/rocr-runtime/src/fmm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/projects/rocr-runtime/src/fmm.c b/projects/rocr-runtime/src/fmm.c index d5b9704fc5..9f099c5a34 100644 --- a/projects/rocr-runtime/src/fmm.c +++ b/projects/rocr-runtime/src/fmm.c @@ -2971,6 +2971,11 @@ static int _fmm_unmap_from_gpu_scratch(uint32_t gpu_id, args.n_success = 0; ret = kmtIoctl(kfd_fd, AMDKFD_IOC_UNMAP_MEMORY_FROM_GPU, &args); + /* unmap from CPU while keeping the address space reserved */ + mmap(address, object->size, PROT_NONE, + MAP_ANONYMOUS | MAP_NORESERVE | MAP_PRIVATE | MAP_FIXED, + -1, 0); + remove_device_ids_from_mapped_array(object, (uint32_t *)args.device_ids_array_ptr, args.n_success * sizeof(uint32_t));