[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <78c7cd3900e0a33da514be8799b35f9f@linux.dev>
Date: Wed, 14 Sep 2022 10:26:38 +0000
From: "Yajun Deng" <yajun.deng@...ux.dev>
To: "SeongJae Park" <sj@...nel.org>
Cc: akpm@...ux-foundation.org, sieberf@...zon.com, shakeelb@...gle.com,
foersleo@...zon.de, damon@...ts.linux.dev, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm/damon: fix missing damon_del_region()
September 14, 2022 5:52 PM, "SeongJae Park" <sj@...nel.org> wrote:
> Hi Yajun,
>
> On Wed, 14 Sep 2022 17:36:36 +0800 Yajun Deng <yajun.deng@...ux.dev> wrote:
>
>> It should be called damon_del_region() before free each region, so use
>> damon_destroy_region() instead of damon_free_region().
>
> What 'damon_del_region()' does is deleting the region from target's regions
> linked list so that nobody references it later after its freed. However, as
> each region is linked to one target, and as we will free the target here, the
> list will also be freed. Therefore, we don't need to worry about future
> references to the region.
>
> Anything I'm missing?
>
OK, got it.
> Thanks,
> SJ
>
>> Fixes: f23b8eee1871 (mm/damon/core: implement region-based sampling)
>> Signed-off-by: Yajun Deng <yajun.deng@...ux.dev>
>> ---
>> mm/damon/core.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/mm/damon/core.c b/mm/damon/core.c
>> index 0b1eb945c68a..e62e7ebf4b12 100644
>> --- a/mm/damon/core.c
>> +++ b/mm/damon/core.c
>> @@ -361,7 +361,7 @@ void damon_free_target(struct damon_target *t)
>> struct damon_region *r, *next;
>>
>> damon_for_each_region_safe(r, next, t)
>> - damon_free_region(r);
>> + damon_destroy_region(r, t);
>> kfree(t);
>> }
>>
>> --
>> 2.25.1
Powered by blists - more mailing lists