Skip to content

Commit 55bb643

Browse files
committed
Move common functions to utils_common
Move common functions to utils_common and rename them to utils_* Signed-off-by: Lukasz Dorau <[email protected]>
1 parent c744343 commit 55bb643

19 files changed

+599
-553
lines changed

include/umf/memory_provider.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,23 @@
1717
extern "C" {
1818
#endif
1919

20+
/// @brief Memory visibility mode
21+
typedef enum umf_memory_visibility_t {
22+
UMF_MEM_MAP_PRIVATE = 1, ///< private memory mapping
23+
UMF_MEM_MAP_SHARED, ///< shared memory mapping (supported on Linux only)
24+
} umf_memory_visibility_t;
25+
26+
/// @brief Protection of the memory allocations
27+
typedef enum umf_mem_protection_flags_t {
28+
UMF_PROTECTION_NONE = (1 << 0), ///< Memory allocations can not be accessed
29+
UMF_PROTECTION_READ = (1 << 1), ///< Memory allocations can be read.
30+
UMF_PROTECTION_WRITE = (1 << 2), ///< Memory allocations can be written.
31+
UMF_PROTECTION_EXEC = (1 << 3), ///< Memory allocations can be executed.
32+
/// @cond
33+
UMF_PROTECTION_MAX // must be the last one
34+
/// @endcond
35+
} umf_mem_protection_flags_t;
36+
2037
/// @brief A struct containing memory provider specific set of functions
2138
typedef struct umf_memory_provider_t *umf_memory_provider_handle_t;
2239

include/umf/providers/provider_os_memory.h

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,6 @@ extern "C" {
1818
#define UMF_OS_RESULTS_START_FROM 1000
1919
/// @endcond
2020

21-
/// @brief Protection of the memory allocations
22-
typedef enum umf_mem_protection_flags_t {
23-
UMF_PROTECTION_NONE = (1 << 0), ///< Memory allocations can not be accessed
24-
UMF_PROTECTION_READ = (1 << 1), ///< Memory allocations can be read.
25-
UMF_PROTECTION_WRITE = (1 << 2), ///< Memory allocations can be written.
26-
UMF_PROTECTION_EXEC = (1 << 3), ///< Memory allocations can be executed.
27-
/// @cond
28-
UMF_PROTECTION_MAX // must be the last one
29-
/// @endcond
30-
} umf_mem_protection_flags_t;
31-
32-
/// @brief Memory visibility mode
33-
typedef enum umf_memory_visibility_t {
34-
UMF_MEM_MAP_PRIVATE = 1, ///< private memory mapping
35-
UMF_MEM_MAP_SHARED, ///< shared memory mapping (supported on Linux only)
36-
} umf_memory_visibility_t;
37-
3821
/// @brief Memory binding mode
3922
/// Specifies how memory is bound to NUMA nodes on systems that support NUMA.
4023
/// Not every mode is supported on every system.

src/provider/provider_devdax_memory.c

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
#include "base_alloc_global.h"
1717
#include "provider_devdax_memory_internal.h"
18-
#include "provider_os_memory_internal.h"
1918
#include "utils_common.h"
2019
#include "utils_concurrency.h"
2120
#include "utils_log.h"
@@ -68,8 +67,8 @@ devdax_translate_params(umf_devdax_memory_provider_params_t *in_params,
6867
devdax_memory_provider_t *provider) {
6968
umf_result_t result;
7069

71-
result = os_translate_mem_protection_flags(in_params->protection,
72-
&provider->protection);
70+
result = utils_translate_mem_protection_flags(in_params->protection,
71+
&provider->protection);
7372
if (result != UMF_RESULT_SUCCESS) {
7473
LOG_ERR("incorrect memory protection flags: %u", in_params->protection);
7574
return result;
@@ -116,15 +115,15 @@ static umf_result_t devdax_initialize(void *params, void **provider) {
116115
goto err_free_devdax_provider;
117116
}
118117

119-
int fd = os_devdax_open(in_params->path);
118+
int fd = utils_devdax_open(in_params->path);
120119
if (fd == -1) {
121120
LOG_ERR("cannot open the device DAX: %s", in_params->path);
122121
ret = UMF_RESULT_ERROR_INVALID_ARGUMENT;
123122
goto err_free_devdax_provider;
124123
}
125124

126-
devdax_provider->base = os_devdax_mmap(NULL, devdax_provider->size,
127-
devdax_provider->protection, fd);
125+
devdax_provider->base = utils_devdax_mmap(NULL, devdax_provider->size,
126+
devdax_provider->protection, fd);
128127
utils_close_fd(fd);
129128
if (devdax_provider->base == NULL) {
130129
LOG_PDEBUG("devdax memory mapping failed (path=%s, size=%zu)",
@@ -147,7 +146,7 @@ static umf_result_t devdax_initialize(void *params, void **provider) {
147146
return UMF_RESULT_SUCCESS;
148147

149148
err_unmap_devdax:
150-
os_munmap(devdax_provider->base, devdax_provider->size);
149+
utils_munmap(devdax_provider->base, devdax_provider->size);
151150
err_free_devdax_provider:
152151
umf_ba_global_free(devdax_provider);
153152
return ret;
@@ -161,7 +160,7 @@ static void devdax_finalize(void *provider) {
161160

162161
devdax_memory_provider_t *devdax_provider = provider;
163162
util_mutex_destroy_not_free(&devdax_provider->lock);
164-
os_munmap(devdax_provider->base, devdax_provider->size);
163+
utils_munmap(devdax_provider->base, devdax_provider->size);
165164
umf_ba_global_free(devdax_provider);
166165
}
167166

@@ -273,8 +272,8 @@ static void devdax_get_last_native_error(void *provider, const char **ppMessage,
273272
memcpy(TLS_last_native_error.msg_buff + pos, msg, len + 1);
274273
pos += len;
275274

276-
os_strerror(TLS_last_native_error.errno_value,
277-
TLS_last_native_error.msg_buff + pos, TLS_MSG_BUF_LEN - pos);
275+
utils_strerror(TLS_last_native_error.errno_value,
276+
TLS_last_native_error.msg_buff + pos, TLS_MSG_BUF_LEN - pos);
278277

279278
*ppMessage = TLS_last_native_error.msg_buff;
280279
}
@@ -288,7 +287,7 @@ static umf_result_t devdax_get_recommended_page_size(void *provider,
288287
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
289288
}
290289

291-
*page_size = os_get_page_size();
290+
*page_size = util_get_page_size();
292291

293292
return UMF_RESULT_SUCCESS;
294293
}
@@ -316,7 +315,7 @@ static umf_result_t devdax_purge_force(void *provider, void *ptr, size_t size) {
316315
}
317316

318317
errno = 0;
319-
if (os_purge(ptr, size, UMF_PURGE_FORCE)) {
318+
if (utils_purge(ptr, size, UMF_PURGE_FORCE)) {
320319
devdax_store_last_native_error(
321320
UMF_DEVDAX_RESULT_ERROR_PURGE_FORCE_FAILED, errno);
322321
LOG_PERR("force purging failed");
@@ -445,14 +444,14 @@ static umf_result_t devdax_open_ipc_handle(void *provider,
445444
}
446445

447446
umf_result_t ret = UMF_RESULT_SUCCESS;
448-
int fd = os_devdax_open(devdax_provider->path);
447+
int fd = utils_devdax_open(devdax_provider->path);
449448
if (fd == -1) {
450449
LOG_PERR("opening a devdax (%s) failed", devdax_provider->path);
451450
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
452451
}
453452

454-
char *base = os_devdax_mmap(NULL, devdax_provider->size,
455-
devdax_provider->protection, fd);
453+
char *base = utils_devdax_mmap(NULL, devdax_provider->size,
454+
devdax_provider->protection, fd);
456455
if (base == NULL) {
457456
devdax_store_last_native_error(UMF_DEVDAX_RESULT_ERROR_ALLOC_FAILED,
458457
errno);
@@ -485,7 +484,7 @@ static umf_result_t devdax_close_ipc_handle(void *provider, void *ptr,
485484
(devdax_memory_provider_t *)provider;
486485

487486
errno = 0;
488-
int ret = os_munmap(devdax_provider->base, devdax_provider->size);
487+
int ret = utils_munmap(devdax_provider->base, devdax_provider->size);
489488
// ignore error when size == 0
490489
if (ret && (size > 0)) {
491490
devdax_store_last_native_error(UMF_DEVDAX_RESULT_ERROR_FREE_FAILED,

src/provider/provider_devdax_memory_internal.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
#ifndef UMF_DEVDAX_MEMORY_PROVIDER_INTERNAL_H
99
#define UMF_DEVDAX_MEMORY_PROVIDER_INTERNAL_H
1010

11-
#include <umf/providers/provider_os_memory.h>
12-
1311
#include "utils_concurrency.h"
1412

1513
#ifdef __cplusplus

src/provider/provider_file_memory.c

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include "base_alloc_global.h"
1717
#include "critnib.h"
1818
#include "provider_file_memory_internal.h"
19-
#include "provider_os_memory_internal.h"
2019
#include "utils_common.h"
2120
#include "utils_concurrency.h"
2221
#include "utils_log.h"
@@ -63,15 +62,15 @@ file_translate_params(umf_file_memory_provider_params_t *in_params,
6362
file_memory_provider_t *provider) {
6463
umf_result_t result;
6564

66-
result = os_translate_mem_protection_flags(in_params->protection,
67-
&provider->protection);
65+
result = utils_translate_mem_protection_flags(in_params->protection,
66+
&provider->protection);
6867
if (result != UMF_RESULT_SUCCESS) {
6968
LOG_ERR("incorrect memory protection flags: %u", in_params->protection);
7069
return result;
7170
}
7271

73-
result = os_translate_mem_visibility_flag(in_params->visibility,
74-
&provider->visibility);
72+
result = utils_translate_mem_visibility_flag(in_params->visibility,
73+
&provider->visibility);
7574
if (result != UMF_RESULT_SUCCESS) {
7675
LOG_ERR("incorrect memory visibility flag: %u", in_params->visibility);
7776
return result;
@@ -90,7 +89,7 @@ static umf_result_t file_initialize(void *params, void **provider) {
9089
umf_file_memory_provider_params_t *in_params =
9190
(umf_file_memory_provider_params_t *)params;
9291

93-
size_t page_size = os_get_page_size();
92+
size_t page_size = util_get_page_size();
9493

9594
if (in_params->path == NULL) {
9695
LOG_ERR("file path is missing");
@@ -116,14 +115,14 @@ static umf_result_t file_initialize(void *params, void **provider) {
116115
goto err_free_file_provider;
117116
}
118117

119-
file_provider->fd = os_file_open_or_create(in_params->path);
118+
file_provider->fd = utils_file_open_or_create(in_params->path);
120119
if (file_provider->fd == -1) {
121120
LOG_ERR("cannot open the file: %s", in_params->path);
122121
ret = UMF_RESULT_ERROR_INVALID_ARGUMENT;
123122
goto err_free_file_provider;
124123
}
125124

126-
if (os_set_file_size(file_provider->fd, page_size)) {
125+
if (utils_set_file_size(file_provider->fd, page_size)) {
127126
LOG_ERR("cannot set size of the file: %s", in_params->path);
128127
ret = UMF_RESULT_ERROR_UNKNOWN;
129128
goto err_close_fd;
@@ -182,7 +181,7 @@ static void file_finalize(void *provider) {
182181
void *rvalue = NULL;
183182
while (1 ==
184183
critnib_find(file_provider->mmaps, key, FIND_G, &rkey, &rvalue)) {
185-
os_munmap((void *)rkey, (size_t)rvalue);
184+
utils_munmap((void *)rkey, (size_t)rvalue);
186185
critnib_remove(file_provider->mmaps, rkey);
187186
key = rkey;
188187
}
@@ -223,7 +222,7 @@ static umf_result_t file_mmap_aligned(file_memory_provider_t *file_provider,
223222
}
224223

225224
if (offset_fd + extended_size > size_fd) {
226-
if (os_fallocate(fd, offset_fd, extended_size)) {
225+
if (utils_fallocate(fd, offset_fd, extended_size)) {
227226
LOG_ERR("cannot grow the file size from %zu to %zu", size_fd,
228227
offset_fd + extended_size);
229228
return UMF_RESULT_ERROR_UNKNOWN;
@@ -237,7 +236,7 @@ static umf_result_t file_mmap_aligned(file_memory_provider_t *file_provider,
237236
ASSERT_IS_ALIGNED(extended_size, page_size);
238237
ASSERT_IS_ALIGNED(offset_fd, page_size);
239238

240-
void *ptr = os_mmap(NULL, extended_size, prot, flag, fd, offset_fd);
239+
void *ptr = utils_mmap(NULL, extended_size, prot, flag, fd, offset_fd);
241240
if (ptr == NULL) {
242241
LOG_PERR("memory mapping failed");
243242
return UMF_RESULT_ERROR_MEMORY_PROVIDER_SPECIFIC;
@@ -398,8 +397,8 @@ static void file_get_last_native_error(void *provider, const char **ppMessage,
398397
memcpy(TLS_last_native_error.msg_buff + pos, msg, len + 1);
399398
pos += len;
400399

401-
os_strerror(TLS_last_native_error.errno_value,
402-
TLS_last_native_error.msg_buff + pos, TLS_MSG_BUF_LEN - pos);
400+
utils_strerror(TLS_last_native_error.errno_value,
401+
TLS_last_native_error.msg_buff + pos, TLS_MSG_BUF_LEN - pos);
403402

404403
*ppMessage = TLS_last_native_error.msg_buff;
405404
}
@@ -412,7 +411,7 @@ static umf_result_t file_get_recommended_page_size(void *provider, size_t size,
412411
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
413412
}
414413

415-
*page_size = os_get_page_size();
414+
*page_size = util_get_page_size();
416415

417416
return UMF_RESULT_SUCCESS;
418417
}
@@ -440,7 +439,7 @@ static umf_result_t file_purge_force(void *provider, void *ptr, size_t size) {
440439
}
441440

442441
errno = 0;
443-
if (os_purge(ptr, size, UMF_PURGE_FORCE)) {
442+
if (utils_purge(ptr, size, UMF_PURGE_FORCE)) {
444443
file_store_last_native_error(UMF_FILE_RESULT_ERROR_PURGE_FORCE_FAILED,
445444
errno);
446445
LOG_PERR("force purging failed");
@@ -581,15 +580,15 @@ static umf_result_t file_open_ipc_handle(void *provider, void *providerIpcData,
581580
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
582581
}
583582

584-
fd = os_file_open(file_ipc_data->path);
583+
fd = utils_file_open(file_ipc_data->path);
585584
if (fd <= 0) {
586585
LOG_PERR("opening the file to be mapped (%s) failed",
587586
file_ipc_data->path);
588587
return UMF_RESULT_ERROR_INVALID_ARGUMENT;
589588
}
590589

591-
*ptr = os_mmap(NULL, file_ipc_data->size, file_provider->protection,
592-
file_provider->visibility, fd, file_ipc_data->offset_fd);
590+
*ptr = utils_mmap(NULL, file_ipc_data->size, file_provider->protection,
591+
file_provider->visibility, fd, file_ipc_data->offset_fd);
593592
(void)utils_close_fd(fd);
594593
if (*ptr == NULL) {
595594
file_store_last_native_error(UMF_FILE_RESULT_ERROR_ALLOC_FAILED, errno);
@@ -607,7 +606,7 @@ static umf_result_t file_close_ipc_handle(void *provider, void *ptr,
607606
}
608607

609608
errno = 0;
610-
int ret = os_munmap(ptr, size);
609+
int ret = utils_munmap(ptr, size);
611610
// ignore error when size == 0
612611
if (ret && (size > 0)) {
613612
file_store_last_native_error(UMF_FILE_RESULT_ERROR_FREE_FAILED, errno);

0 commit comments

Comments
 (0)