Re: [PATCH v5 1/4] cgroup: Add dmem_selftest module

From: Eric Chanudet

Date: Thu Jul 09 2026 - 09:31:34 EST


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 <aesteve@xxxxxxxxxx>

Reviewed-by: Eric Chanudet <echanude@xxxxxxxxxx>

--
Eric Chanudet