From 4540949e0e601cbfeff2f1fa77ec6509bc19e2f6 Mon Sep 17 00:00:00 2001 From: Suyash Mahar Date: Mon, 3 Jun 2024 15:28:59 -0700 Subject: [PATCH] Fix less than page size in numa --- include/nvsl/numa.hh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/nvsl/numa.hh b/include/nvsl/numa.hh index 53721b5..1fc886b 100644 --- a/include/nvsl/numa.hh +++ b/include/nvsl/numa.hh @@ -28,7 +28,7 @@ static inline bool move_region_to_node(int node, void *start, size_t size, size_t page_size = 4096) { bool result = true; - const auto page_cnt = size / page_size; + const auto page_cnt = size < page_size ? 1 : size / page_size; int *nodes = new int[page_cnt]; int *status = new int[page_cnt]; void **pages = new void *[page_cnt]; @@ -51,7 +51,8 @@ static inline bool move_region_to_node(int node, void *start, size_t size, for (auto i = 0UL; i < page_cnt; i++) { if (status[i] != node) { - std::cerr << "Warning: page " << i << " might not be on the target node. "; + std::cerr << "Warning: page " << i << " might not be on the target node. " << std::endl; + std::cerr << "perror: " << strerror(-status[i]) << std::endl; std::cerr << "Expected: " << node << ", got: " << status[i] << std::endl; std::cerr << "Not checking further pages." << std::endl;