mm/damon: update outdated comment about DAMOS filter handling

The kernel-doc comment above enum damos_filter_type states that only the
anon and memcg type filters are handled by damon_operations (and therefore
accounted as 'tried'), and that DAMON_OPS_VADDR and DAMON_OPS_FVADDR do
not support those two filter types.

Neither is accurate anymore.  damos_filter_for_ops() routes every filter
type except ADDR and TARGET to the operations layer, and the VADDR and
FVADDR operations (the latter being a copy of the former) handle all of
those types through damos_folio_filter_match() / damos_va_filter_out(). 
Update the comment to match the code.

Link: https://lore.kernel.org/20260721140011.269802-1-sj@kernel.org
Signed-off-by: Song Hu <husong@kylinos.cn>
Reviewed-by: SJ Park <sj@kernel.org>
Signed-off-by: SJ Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Song Hu
2026-07-21 07:00:08 -07:00
committed by Andrew Morton
parent 23e82f0223
commit 51fa46c364

View File

@@ -398,16 +398,15 @@ struct damos_stat {
* @DAMOS_FILTER_TYPE_TARGET: Data Access Monitoring target.
* @NR_DAMOS_FILTER_TYPES: Number of filter types.
*
* The anon pages type and memcg type filters are handled by underlying
* &struct damon_operations as a part of scheme action trying, and therefore
* accounted as 'tried'. In contrast, other types are handled by core layer
* before trying of the action and therefore not accounted as 'tried'.
* All types except &DAMOS_FILTER_TYPE_ADDR and &DAMOS_FILTER_TYPE_TARGET
* are handled by the underlying &struct damon_operations as a part of scheme
* action trying, and therefore accounted as 'tried'. In contrast,
* &DAMOS_FILTER_TYPE_ADDR and &DAMOS_FILTER_TYPE_TARGET filters are handled
* by the core layer before trying of the action, and therefore not accounted
* as 'tried'.
*
* The support of the filters that handled by &struct damon_operations depend
* on the running &struct damon_operations.
* &enum DAMON_OPS_PADDR supports both anon pages type and memcg type filters,
* while &enum DAMON_OPS_VADDR and &enum DAMON_OPS_FVADDR don't support any of
* the two types.
* Support for the operations-handled filters depends on the running
* &struct damon_operations.
*/
enum damos_filter_type {
DAMOS_FILTER_TYPE_ANON,