v3
2026-09-28
DAMON 构造 scheme 时保留配额状态 · v3
damon_commit_ctx() 校验更新时会用临时 scheme 清空运行中方案 quota 状态,改为只初始化新 scheme 的副本,并补 KUnit 用例。
原始补丁链接
子 Patch(2)
1/2
mm/damon/core: preserve the quota passed to damon_new_scheme()
damon_commit_ctx() 校验更新时把运行中 scheme 的 quota 传给 damon_new_scheme(),后者对其调 damos_quota_init(),清空了运行中 scheme 的 effective quota、feedback 输入与计费状态,连被 -EINVAL 拒的更新也如此;修复为不改动入参 quota。
2/2
mm/damon/tests/core-kunit: test preservation of quota state
新增 kunit 测试覆盖 damos_quota_init() 初始化的全部八个字段:断言 damon_new_scheme() 不改动入参 quota,并用非法 min_region_sz 触发 -EINVAL,确认 damon_commit_ctx() 在接受与被拒更新后都保留目的 scheme 的 quota 状态。