@@ -8,6 +8,9 @@ configuration options, statistics and auxiliary APIs. CTL entries can also be
88set through environment variables or a configuration file, allowing adjustment
99of UMF behavior without modifying the program.
1010
11+ .. note ::
12+ The CTL API is experimental and may change in future releases.
13+
1114Main concepts
1215=============
1316
@@ -84,7 +87,7 @@ to providers or pools created after the defaults are set. For example::
8487 sizeof(capacity));
8588
8689Every subsequently created disjoint pool will use ``16 `` as its starting
87- capacity overriding it's creation parameters. Defaults are keyed by the
90+ capacity overriding its creation parameters. Defaults are keyed by the
8891name returned from the provider or pool ``get_name `` callback, so if pool/provider
8992has custom name it must be addressed explicitly. Defaults may be supplied programmatically
9093or via environment variable and are saved internally and applied during initialization of a
@@ -99,7 +102,7 @@ Multiple entries are separated with semicolons, e.g.::
99102
100103 UMF_CONF="umf.logger.output=stdout;umf.logger.level=0"
101104
102- CTL options available through environment variables are limited— you can only
105+ CTL options available through environment variables are limited — you can only
103106target default nodes when addressing pools. This means that configuration
104107strings can influence values consumed during pool creation but cannot alter
105108runtime-only parameters.
@@ -118,7 +121,7 @@ major subsystems:
118121Within each subsystem the path continues with an addressing scheme followed by
119122the module or leaf of interest.
120123
121- Reading this reference
124+ Reading below sections
122125=======================
123126
124127Parameter annotations describe the values stored in the node rather than the
@@ -211,8 +214,8 @@ Provider entries are organized beneath ``umf.provider``. Use
211214:type: `umf_memory_provider_handle_t ` argument to reach a specific provider.
212215Providers can also be addressed by name through ``umf.provider.by_name.{provider} ``;
213216append ``.{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
217+ Defaults for future providers reside under ``umf.provider.default.{provider} `` where `` {provider `` is
218+ a name returned by each provider's ``get_name `` implementation. Providers have their
216219default names (``OS ``, ``FILE ``, ``DEVDAX ``, ``FIXED ``, ``CUDA `` or ``LEVEL_ZERO ``),
217220unless their name was changed during creation, those renamed providers must be addressed explicitly.
218221Defaults can be written via ``umf.provider.default.<name> `` either programmatically or through
@@ -663,17 +666,16 @@ The jemalloc-backed pool currently exposes only the common statistics nodes.
663666Adding CTL support to custom providers and pools
664667================================================
665668
666- The :file: `examples/ctl/ctl_example .c ` source demonstrates how a minimal
669+ The :file: `examples/ctl/custom_ctl .c ` source demonstrates how a minimal
667670provider can expose configuration entries, statistics and runnables through the
668671CTL API. To add similar support to your own provider or pool you must implement
669672an ``ext_ctl `` callback – parse incoming CTL paths and handle
670- `CTL_QUERY_READ``, ``CTL_QUERY_WRITE `` and ``CTL_QUERY_RUNNABLE `` requests.
673+ `` CTL_QUERY_READ ``, ``CTL_QUERY_WRITE `` and ``CTL_QUERY_RUNNABLE `` requests.
671674The callback receives a ``umf_ctl_query_source_t `` indicating whether the
672675query came from the application or a configuration source. Programmatic
673676calls pass typed binary data, while configuration sources deliver strings
674677that must be parsed. Wildcards (``{} ``) may appear in paths and are supplied
675678as additional arguments.
676- new entries.
677679
678680During initialization UMF will execute ``post_initialize `` on the callback after
679681applying any queued defaults, allowing the provider or pool to finalize its
0 commit comments