From: Tao Cui <[email protected]>

Document the named-model binding of io.cost.model in the
io.cost.model section of the cgroup v2 documentation: the binding
and restore syntax, the unknown-name rejection, the full-replacement
semantics of a bound model and the unregister lifetime.

Signed-off-by: Tao Cui <[email protected]>
---
 Documentation/admin-guide/cgroup-v2.rst | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/Documentation/admin-guide/cgroup-v2.rst 
b/Documentation/admin-guide/cgroup-v2.rst
index 8d2603751c51a..0d2d0525255cb 100644
--- a/Documentation/admin-guide/cgroup-v2.rst
+++ b/Documentation/admin-guide/cgroup-v2.rst
@@ -2124,6 +2124,18 @@ IO Interface Files
        parameters are written to, "ctrl" become "user" and the
        automatic changes are disabled.
 
+       When CONFIG_BLK_CGROUP_IOCOST_BPF is enabled, "model" also accepts
+       the name of a registered iocost_model_ops BPF struct_ops model:
+       "model=<name>" binds the model to the device and the model fully
+       replaces the builtin linear pricing, for every operation including
+       flushes; "model=linear" (or "ctrl=auto/user") restores the builtin
+       model.  Writing an unknown name fails with ENOENT and nothing is
+       applied.  Unregistering a model removes its name so it can no
+       longer be selected; devices already bound keep using it, and keep
+       receiving cgroup lifecycle notifications, until switched back to
+       the builtin model.  See
+       include/linux/blk-iocost.h for the model interface.
+
        When "model" is "linear", the following model parameters are
        defined.
 
-- 
2.43.0


Reply via email to