1MEMKIND_MEMTIER(3) MEMKIND_MEMTIER MEMKIND_MEMTIER(3)
2
3
4
6 memkind_memtier - memory tiering interface
7 Note: memkind_memtier.h functionality is considered as stable API
8 (STANDARD API).
9
11 #include <memkind_memtier.h>
12
13 Link with -lmemkind
14
15 TIER MANAGEMENT:
16
17 struct memtier_builder *memtier_builder_new(memtier_policy_t policy);
18 void memtier_builder_delete(struct memtier_builder *builder);
19 int memtier_builder_add_tier(struct memtier_builder *builder, memkind_t kind, unsigned kind_ratio);
20 struct memtier_memory *memtier_builder_construct_memtier_memory(struct memtier_builder *builder);
21 void memtier_delete_memtier_memory(struct memtier_memory *memory);
22
23 HEAP MANAGEMENT:
24 void *memtier_malloc(struct memtier_memory *memory, size_t size);
25 void *memtier_kind_malloc(memkind_t kind, size_t size);
26 void *memtier_calloc(struct memtier_memory *memory, size_t num, size_t size);
27 void *memtier_kind_calloc(memkind_t kind, size_t num, size_t size);
28 void *memtier_realloc(struct memtier_memory *memory, void *ptr, size_t size);
29 void *memtier_kind_realloc(memkind_t kind, void *ptr, size_t size);
30 int memtier_posix_memalign(struct memtier_memory *memory, void **memptr, size_t alignment, size_t size);
31 int memtier_kind_posix_memalign(memkind_t kind, void **memptr, size_t alignment, size_t size);
32 size_t memtier_usable_size(void *ptr);
33 void memtier_free(void *ptr);
34 void memtier_kind_free(memkind_t kind, void *ptr);
35 size_t memtier_kind_allocated_size(memkind_t kind);
36
37 DECORATORS:
38 void memtier_kind_malloc_post(memkind_t kind, size_t size, void **result);
39 void memtier_kind_calloc_post(memkind_t kind, size_t nmemb, size_t size, void **result);
40 void memtier_kind_posix_memalign_post(memkind_t kind, void **memptr, size_t alignment, size_t size, int *err);
41 void memtier_kind_realloc_post(memkind_t *kind, void *ptr, size_t size, void **result);
42 void memtier_kind_free_pre(void **ptr);
43 void memtier_kind_usable_size_post(void **ptr, size_t size);
44
45 MEMTIER PROPERTY MANAGEMENT:
46 int memtier_ctl_set(struct memtier_builder *builder, const char *name, const void *val);
47
48
50 TODO
51 Supported names (with type): policy.dynamic_threshold.thresh‐
52 olds[ID].val (size_t) policy.dynamic_threshold.thresholds[ID].min
53 (size_t) policy.dynamic_threshold.thresholds[ID].max (size_t) pol‐
54 icy.dynamic_threshold.check_cnt (unsigned) policy.dynamic_thresh‐
55 old.trigger (float) policy.dynamic_threshold.degree (float)
56
57
59 See section DECORATORS of memkind(3) for more details about decorators.
60
63 Copyright (C) 2021 Intel Corporation. All rights reserved.
64
66 memkind(3)
67
68
69
70Intel Corporation 2021-03-01 MEMKIND_MEMTIER(3)