@@ -37,7 +37,7 @@ Every ``{}`` in the path is replaced with an extra argument passed to the CTL
37
37
function. Alternative addressing methods are described below.
38
38
39
39
Pool / Provider addressing
40
- ==========================
40
+ ============================
41
41
42
42
Two addressing schemes are provided: ``by_handle `` and ``by_name ``. Each pool
43
43
and provider has a unique handle and an optional user-defined name that can be
@@ -56,7 +56,7 @@ appending an index after the name::
56
56
The number of pools with a given name can be obtained with the ``count `` node.
57
57
58
58
Wildcards
59
- =========
59
+ ===========
60
60
61
61
A ``{} `` in the path acts as a wildcard and is replaced with successive
62
62
arguments of ``umfCtlGet ``, ``umfCtlSet `` or ``umfCtlExec ``. Wildcards can
@@ -74,18 +74,21 @@ replace any node, not only handles. For example::
74
74
Ensure that the types of wildcard arguments match the expected node types.
75
75
76
76
Default addressing
77
- ==================
77
+ ===================
78
78
79
79
``umf.provider.default `` and ``umf.pool.default `` store default values applied
80
80
to providers or pools created after the defaults are set. For example::
81
81
82
- const char *name = "custom";
83
- umfCtlSet("umf.pool.default.disjoint.name", (void *)name, strlen(name)+1);
82
+ size_t capacity = 16;
83
+ umfCtlSet("umf.pool.default.disjoint.params.capacity", &capacity,
84
+ sizeof(capacity));
84
85
85
- Every subsequently created disjoint pool will use ``custom `` as its name unless
86
- overridden by explicit parameters. Defaults may be supplied programmatically or
87
- via configuration and are saved internally and applied during initalization of
88
- a matching provider or pool.
86
+ Every subsequently created disjoint pool will use ``16 `` as its starting
87
+ capacity overriding it's creation parameters. Defaults are keyed by the
88
+ name returned from the provider or pool ``get_name `` callback, so if pool/provider
89
+ has custom name it must be addressed explicitly. Defaults may be supplied programmatically
90
+ or via environment variable and are saved internally and applied during initialization of a
91
+ matching provider or pool.
89
92
90
93
Environment variables
91
94
=====================
@@ -771,7 +774,7 @@ these entries.
771
774
>>>>>>> da1363dd (better documentation)
772
775
773
776
Reading this reference
774
- ----------------------
777
+ =======================
775
778
776
779
Parameter annotations describe the values stored in the node rather than the
777
780
pointer types passed to ``umfCtlGet ``/``umfCtlSet ``/``umfCtlExec ``. The
@@ -841,7 +844,7 @@ Logger nodes
841
844
842
845
:param path: Receives the currently selected sink on reads. On writes, pass
843
846
``"stdout" `` or ``"stderr" `` to redirect to standard streams, a
844
- NUL -terminated file path to append to a file, or ``NULL `` to disable
847
+ NULL -terminated file path to append to a file, or ``NULL `` to disable
845
848
logging altogether.
846
849
:type path: ``char * `` when reading, ``const char * `` when writing
847
850
@@ -862,14 +865,14 @@ Provider entries are organized beneath ``umf.provider``. Use
862
865
``umf.provider.by_handle.{provider} `` with a
863
866
:type: `umf_memory_provider_handle_t ` argument to reach a specific provider.
864
867
Providers can also be addressed by name through ``umf.provider.by_name.{provider} ``;
865
- append ``.{index} `` to address specyfic provider when multiple providers share the same label.
866
- Defaults for future providers live under ``umf.provider.default.{provider_name } ``,
867
- where `` {provider_name} `` matches the canonical provider identifier (`` OS ``,
868
- `` FILE ``, ``DEVDAX ``, ``FIXED ``, ``CUDA `` or ``LEVEL_ZERO ``). Values written to
869
- the default tree are saved until a matching provider is created and applied
870
- during provider initialization. Defaults can be supplied programmatically or
871
- through configuration strings. The entries below list only the suffix of each
872
- node; prefix them with the appropriate ``umf.provider `` path.
868
+ append ``.{index} `` to address specific provider when multiple providers share the same label.
869
+ Defaults for future providers reside under ``umf.provider.default.{provider } `` and track the
870
+ name returned by each provider's `` get_name `` implementation. Providers have their
871
+ default names (`` OS ``, `` FILE ``, ``DEVDAX ``, ``FIXED ``, ``CUDA `` or ``LEVEL_ZERO ``),
872
+ unless their name was changed during creation, those renamed providers must be addressed explicitly.
873
+ Defaults can be written via `` umf.provider.default.<name> `` either programmatically or through
874
+ configuration strings. The entries below list only the suffix of each node;
875
+ prefix them with the appropriate ``umf.provider `` path.
873
876
874
877
Common provider statistics
875
878
--------------------------
@@ -971,11 +974,13 @@ Pool nodes
971
974
Pool entries mirror the provider layout. ``umf.pool.by_handle.{pool} `` accepts a
972
975
:type: `umf_memory_pool_handle_t `, while ``umf.pool.by_name.{pool} `` addresses
973
976
pools by name with an optional ``.{index} `` suffix when names are reused.
974
- Defaults for future pools reside under ``umf.pool.default.{pool} ``, where
975
- canonical names include ``disjoint ``, ``scalable `` and ``jemalloc ``. Defaults
976
- can be written via ``umf.pool.default.<pool> `` either programmatically or
977
- through configuration strings. The entries below list only the suffix of each
978
- node; prefix them with the appropriate ``umf.pool `` path.
977
+ Defaults for future pools reside under ``umf.pool.default.{pool} `` and track the
978
+ name returned by each pool's ``get_name `` implementation. Pools that keep their
979
+ default names (``disjoint ``, ``scalable `` and ``jemalloc ``) continue to match
980
+ those entries, while renamed pools must be addressed explicitly. Defaults can be
981
+ written via ``umf.pool.default.<pool> `` either programmatically or through
982
+ configuration strings. The entries below list only the suffix of each node;
983
+ prefix them with the appropriate ``umf.pool `` path.
979
984
980
985
Common pool statistics
981
986
--------------------------
@@ -1001,7 +1006,7 @@ Disjoint pool (``disjoint``)
1001
1006
provider.
1002
1007
:type bytes: ``size_t ``
1003
1008
1004
- **Access: ** read-write. (write is only avaiable through defaults)
1009
+ **Access: ** read-write. (write is only available through defaults)
1005
1010
**Defaults / Env: ** supported.
1006
1011
1007
1012
Governs how much memory the pool grabs in each slab. Lower values reduce
@@ -1014,7 +1019,7 @@ Disjoint pool (``disjoint``)
1014
1019
cached by the pool.
1015
1020
:type bytes: ``size_t ``
1016
1021
1017
- **Access: ** read-write. (write is only avaiable through defaults)
1022
+ **Access: ** read-write. (write is only available through defaults)
1018
1023
**Defaults / Env: ** supported.
1019
1024
1020
1025
Sets the cut-off for pooling allocations. Requests larger than this value are
@@ -1027,7 +1032,7 @@ Disjoint pool (``disjoint``)
1027
1032
may retain.
1028
1033
:type count: ``size_t ``
1029
1034
1030
- **Access: ** read-write. (write is only avaiable through defaults)
1035
+ **Access: ** read-write. (write is only available through defaults)
1031
1036
**Defaults / Env: ** supported.
1032
1037
1033
1038
Caps the pool's cached slabs per bucket to limit memory retention. Shrinking
@@ -1040,7 +1045,7 @@ Disjoint pool (``disjoint``)
1040
1045
serve.
1041
1046
:type bytes: ``size_t ``
1042
1047
1043
- **Access: ** read-write. (write is only avaiable through defaults)
1048
+ **Access: ** read-write. (write is only available through defaults)
1044
1049
**Defaults / Env: ** supported.
1045
1050
1046
1051
Controls the smallest chunk size kept in the pool, which in turn affects the
@@ -1052,7 +1057,7 @@ Disjoint pool (``disjoint``)
1052
1057
:param level: Receives or supplies the tracing level for the pool.
1053
1058
:type level: ``int `` (``0 `` disables tracing)
1054
1059
1055
- **Access: ** read-write. (write is only avaiable through defaults)
1060
+ **Access: ** read-write. (write is only available through defaults)
1056
1061
**Defaults / Env: ** supported.
1057
1062
1058
1063
Controls the disjoint pool's tracing features. ``0 `` disables tracing.
0 commit comments