1MEMKIND_MEMTIER(3)              MEMKIND_MEMTIER             MEMKIND_MEMTIER(3)
2
3
4

NAME

6       memkind_memtier - memory tiering interface
7       Note:  memkind_memtier.h  functionality  is  considered  as  stable API
8       (STANDARD API).
9

SYNOPSIS

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

CTL API

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

DECORATORS

59       See section DECORATORS of memkind(3) for more details about decorators.
60

DESCRIPTION

63       Copyright (C) 2021 Intel Corporation. All rights reserved.
64

SEE ALSO

66       memkind(3)
67
68
69
70Intel Corporation                 2021-03-01                MEMKIND_MEMTIER(3)
Impressum