Messages in this thread | | | Date | Mon, 2 May 2022 15:56:58 +0800 | Subject | Re: [PATCH 2/3] mm/damon/sysfs: support fixed virtual address ranges monitoring | From | Rongwei Wang <> |
| |
Hi, SeongJae
I had read and tested your patchset these days. It works. It seems that these patches only fix the issue about init_regions in DAMON-sysfs, but not fix in DAMON-dbgfs? maybe I missing something.
If so, do you have any plan to fix this bug in dbgfs? Actually, what I want to say is that I ready a patch for solving the init_regions related bug in dbgfs these days. I not sure if you're interested in it.
Best Regards, Rongwei
On 4/27/22 7:17 AM, sj@kernel.org wrote: > From: SeongJae Park <sj@kernel.org> > > This commit makes DAMON sysfs interface to support the fixed virtual > address ranges monitoring. After this commit, writing 'fvaddr' to the > 'operations' DAMON sysfs file makes DAMON uses the monitoring operations > set for fixed virtual address ranges, so that users can monitor accesses > to only interested virtual address ranges. > > Signed-off-by: SeongJae Park <sj@kernel.org> > --- > mm/damon/sysfs.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c > index 719a286d378f..767ab8c33e4d 100644 > --- a/mm/damon/sysfs.c > +++ b/mm/damon/sysfs.c > @@ -1694,7 +1694,7 @@ static struct kobj_type damon_sysfs_attrs_ktype = { > /* This should match with enum damon_ops_id */ > static const char * const damon_sysfs_ops_strs[] = { > "vaddr", > - "unsupported", /* fvaddr is not supported by sysfs yet */ > + "fvaddr", > "paddr", > }; > > @@ -1844,9 +1844,6 @@ static ssize_t operations_store(struct kobject *kobj, > > for (id = 0; id < NR_DAMON_OPS; id++) { > if (sysfs_streq(buf, damon_sysfs_ops_strs[id])) { > - /* fvaddr is not supported by sysfs yet */ > - if (id == DAMON_OPS_FVADDR) > - return -EINVAL; > context->ops_id = id; > return count; > } > @@ -2136,7 +2133,8 @@ static int damon_sysfs_set_targets(struct damon_ctx *ctx, > damon_sysfs_destroy_targets(ctx); > return -ENOMEM; > } > - if (ctx->ops.id == DAMON_OPS_VADDR) { > + if (ctx->ops.id == DAMON_OPS_VADDR || > + ctx->ops.id == DAMON_OPS_FVADDR) { > t->pid = find_get_pid(sys_target->pid); > if (!t->pid) { > damon_sysfs_destroy_targets(ctx);
| |