@@ -37,7 +37,7 @@ Every ``{}`` in the path is replaced with an extra argument passed to the CTL
3737function. Alternative addressing methods are described below.
3838
3939Pool / Provider addressing
40- ==========================
40+ ============================
4141
4242Two addressing schemes are provided: ``by_handle `` and ``by_name ``. Each pool
4343and provider has a unique handle and an optional user-defined name that can be
@@ -56,7 +56,7 @@ appending an index after the name::
5656The number of pools with a given name can be obtained with the ``count `` node.
5757
5858Wildcards
59- =========
59+ ===========
6060
6161A ``{} `` in the path acts as a wildcard and is replaced with successive
6262arguments of ``umfCtlGet ``, ``umfCtlSet `` or ``umfCtlExec ``. Wildcards can
@@ -74,18 +74,21 @@ replace any node, not only handles. For example::
7474Ensure that the types of wildcard arguments match the expected node types.
7575
7676Default addressing
77- ==================
77+ ===================
7878
7979``umf.provider.default `` and ``umf.pool.default `` store default values applied
8080to providers or pools created after the defaults are set. For example::
8181
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));
8485
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.
8992
9093Environment variables
9194=====================
@@ -116,7 +119,7 @@ Within each subsystem the path continues with an addressing scheme followed by
116119the module or leaf of interest.
117120
118121Reading this reference
119- ----------------------
122+ =======================
120123
121124Parameter annotations describe the values stored in the node rather than the
122125pointer types passed to ``umfCtlGet ``/``umfCtlSet ``/``umfCtlExec ``. The
@@ -186,7 +189,7 @@ Logger nodes
186189
187190 :param path: Receives the currently selected sink on reads. On writes, pass
188191 ``"stdout" `` or ``"stderr" `` to redirect to standard streams, a
189- NUL -terminated file path to append to a file, or ``NULL `` to disable
192+ NULL -terminated file path to append to a file, or ``NULL `` to disable
190193 logging altogether.
191194 :type path: ``char * `` when reading, ``const char * `` when writing
192195
@@ -207,14 +210,14 @@ Provider entries are organized beneath ``umf.provider``. Use
207210``umf.provider.by_handle.{provider} `` with a
208211:type: `umf_memory_provider_handle_t ` argument to reach a specific provider.
209212Providers can also be addressed by name through ``umf.provider.by_name.{provider} ``;
210- append ``.{index} `` to address specyfic provider when multiple providers share the same label.
211- Defaults for future providers live under ``umf.provider.default.{provider_name } ``,
212- where `` {provider_name} `` matches the canonical provider identifier (`` OS ``,
213- `` FILE ``, ``DEVDAX ``, ``FIXED ``, ``CUDA `` or ``LEVEL_ZERO ``). Values written to
214- the default tree are saved until a matching provider is created and applied
215- during provider initialization. Defaults can be supplied programmatically or
216- through configuration strings. The entries below list only the suffix of each
217- node; prefix them with the appropriate ``umf.provider `` path.
213+ append ``.{index} `` to address specific provider when multiple providers share the same label.
214+ Defaults for future providers reside under ``umf.provider.default.{provider } `` and track the
215+ name returned by each provider's `` get_name `` implementation. Providers have their
216+ default names (`` OS ``, `` FILE ``, ``DEVDAX ``, ``FIXED ``, ``CUDA `` or ``LEVEL_ZERO ``),
217+ unless their name was changed during creation, those renamed providers must be addressed explicitly.
218+ Defaults can be written via `` umf.provider.default.<name> `` either programmatically or through
219+ configuration strings. The entries below list only the suffix of each node;
220+ prefix them with the appropriate ``umf.provider `` path.
218221
219222Common provider statistics
220223--------------------------
@@ -316,11 +319,13 @@ Pool nodes
316319Pool entries mirror the provider layout. ``umf.pool.by_handle.{pool} `` accepts a
317320:type: `umf_memory_pool_handle_t `, while ``umf.pool.by_name.{pool} `` addresses
318321pools by name with an optional ``.{index} `` suffix when names are reused.
319- Defaults for future pools reside under ``umf.pool.default.{pool} ``, where
320- canonical names include ``disjoint ``, ``scalable `` and ``jemalloc ``. Defaults
321- can be written via ``umf.pool.default.<pool> `` either programmatically or
322- through configuration strings. The entries below list only the suffix of each
323- node; prefix them with the appropriate ``umf.pool `` path.
322+ Defaults for future pools reside under ``umf.pool.default.{pool} `` and track the
323+ name returned by each pool's ``get_name `` implementation. Pools that keep their
324+ default names (``disjoint ``, ``scalable `` and ``jemalloc ``) continue to match
325+ those entries, while renamed pools must be addressed explicitly. Defaults can be
326+ written via ``umf.pool.default.<pool> `` either programmatically or through
327+ configuration strings. The entries below list only the suffix of each node;
328+ prefix them with the appropriate ``umf.pool `` path.
324329
325330Common pool statistics
326331--------------------------
@@ -346,7 +351,7 @@ Disjoint pool (``disjoint``)
346351 provider.
347352 :type bytes: ``size_t ``
348353
349- **Access: ** read-write. (write is only avaiable through defaults)
354+ **Access: ** read-write. (write is only available through defaults)
350355 **Defaults / Env: ** supported.
351356
352357 Governs how much memory the pool grabs in each slab. Lower values reduce
@@ -359,7 +364,7 @@ Disjoint pool (``disjoint``)
359364 cached by the pool.
360365 :type bytes: ``size_t ``
361366
362- **Access: ** read-write. (write is only avaiable through defaults)
367+ **Access: ** read-write. (write is only available through defaults)
363368 **Defaults / Env: ** supported.
364369
365370 Sets the cut-off for pooling allocations. Requests larger than this value are
@@ -372,7 +377,7 @@ Disjoint pool (``disjoint``)
372377 may retain.
373378 :type count: ``size_t ``
374379
375- **Access: ** read-write. (write is only avaiable through defaults)
380+ **Access: ** read-write. (write is only available through defaults)
376381 **Defaults / Env: ** supported.
377382
378383 Caps the pool's cached slabs per bucket to limit memory retention. Shrinking
@@ -385,7 +390,7 @@ Disjoint pool (``disjoint``)
385390 serve.
386391 :type bytes: ``size_t ``
387392
388- **Access: ** read-write. (write is only avaiable through defaults)
393+ **Access: ** read-write. (write is only available through defaults)
389394 **Defaults / Env: ** supported.
390395
391396 Controls the smallest chunk size kept in the pool, which in turn affects the
@@ -397,7 +402,7 @@ Disjoint pool (``disjoint``)
397402 :param level: Receives or supplies the tracing level for the pool.
398403 :type level: ``int `` (``0 `` disables tracing)
399404
400- **Access: ** read-write. (write is only avaiable through defaults)
405+ **Access: ** read-write. (write is only available through defaults)
401406 **Defaults / Env: ** supported.
402407
403408 Controls the disjoint pool's tracing features. ``0 `` disables tracing.
0 commit comments