| 586 | } |
| 587 | |
| 588 | void GdrMemoryManager::InsertMemoryRegion(void* addr, size_t length, |
| 589 | const std::string& allocator_name) { |
| 590 | if (length == 0) return; |
| 591 | ibv_mr* mr = rdma_reg_read(listening_.get(), addr, length); |
| 592 | if (mr != nullptr) { |
| 593 | mutex_lock l(alloc_mu_); |
| 594 | auto iter = std::upper_bound(mrs_.begin(), mrs_.end(), addr, &Comparator); |
| 595 | mrs_.insert(iter, {mr, &MRDeleter}); |
| 596 | } else { |
| 597 | LOG(WARNING) << "Cannot register memory region allocated by " |
| 598 | << allocator_name; |
| 599 | } |
| 600 | } |
| 601 | |
| 602 | void GdrMemoryManager::EvictMemoryRegion(void* addr, size_t length) { |
| 603 | if (length == 0) return; |
nothing calls this directly
no test coverage detected