On Mon, Jul 06, 2026 at 02:06:40PM +0200, Albert Esteve wrote: > Currently, dmem charging is driver-driven through direct > calls to dmem_cgroup_try_charge(), so cgroup selftests > do not have a generic way to trigger charge and uncharge > paths from userspace. > > This limits any selftest coverage to configuration/readout > checks unless a specific driver exposing charge hooks is > present in the test environment. > > Add kernel/cgroup/dmem_selftest.c as a helper module > (CONFIG_DMEM_SELFTEST) that registers a synthetic dmem region > (dmem_selftest) and exposes debugfs control files: > /sys/kernel/debug/dmem_selftest/charge > /sys/kernel/debug/dmem_selftest/uncharge > > Writing a size to charge triggers dmem_cgroup_try_charge() for > the calling task's cgroup (the module calls kstrtou64()). > Writing to uncharge releases the outstanding charge via > dmem_cgroup_uncharge(). Only a single outstanding charge > is supported. > > This provides a deterministic, driver-independent mechanism > for exercising dmem accounting paths in selftests. > > Signed-off-by: Albert Esteve <[email protected]>
Reviewed-by: Eric Chanudet <[email protected]> -- Eric Chanudet

