All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kefeng Wang <wangkefeng.wang@huawei.com>
To: SeongJae Park <sj@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>, <linux-mm@kvack.org>,
	<linux-kernel@vger.kernel.org>, <damon@lists.linux.dev>
Subject: Re: [PATCH v2 2/3] mm/damon/paddr: minor refactor of damon_pa_young()
Date: Mon, 6 Mar 2023 09:56:49 +0800	[thread overview]
Message-ID: <202ac11d-3692-69bf-3984-627c1b9f9d38@huawei.com> (raw)
In-Reply-To: <04645c9e-2188-da5c-30da-4c4694c7283c@huawei.com>



On 2023/3/6 9:10, Kefeng Wang wrote:
> 
> 
> On 2023/3/4 2:39, SeongJae Park wrote:
>> Hi Kefeng,
>>
>> On Fri, 3 Mar 2023 16:43:42 +0800 Kefeng Wang 
>> <wangkefeng.wang@huawei.com> wrote:
>>
>>> Omit three lines by unified folio_put(), and make code more clear.
>>>
>>> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
>>> ---
>>>   mm/damon/paddr.c | 11 ++++-------
>>>   1 file changed, 4 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c
>>> index 3fda00a0f786..2ef9db0189ca 100644
>>> --- a/mm/damon/paddr.c
>>> +++ b/mm/damon/paddr.c
>>> @@ -130,24 +130,21 @@ static bool damon_pa_young(unsigned long paddr, 
>>> unsigned long *folio_sz)
>>>               accessed = false;
>>>           else
>>>               accessed = true;
>>> -        folio_put(folio);
>>>           goto out;
>>
>> Because you moved 'out' label to not include *folio_sz setting, 
>> folio_sz will
>> not set in this case.  It should be set.
> oh, it should be fixed.
>>
>>>       }
>>>       need_lock = !folio_test_anon(folio) || folio_test_ksm(folio);
>>> -    if (need_lock && !folio_trylock(folio)) {
>>> -        folio_put(folio);
>>> -        return false;
>>> -    }

Hi SJ,  apart from above issue, it looks that this branch need the 
folio_size() setting, right?

Thanks

>>> +    if (need_lock && !folio_trylock(folio))
>>> +        goto out;
>>>       rmap_walk(folio, &rwc);
>>>       if (need_lock)
>>>           folio_unlock(folio);
>>> -    folio_put(folio);
>>> -out:
>>>       *folio_sz = folio_size(folio);
>>> +out:
>>> +    folio_put(folio);
>>
>> Before this change, folio_size() is called after folio_put().  
>> Shouldn't it be
>> called before folio_put()?  If so, could we make a separate fix for 
>> that first,
>> and then make this change on top of it, so that it can be easily 
>> applied to
>> relevant stable kernels?
>>
> Yes, I could separate it, after folio_put(), the folio could be 
> re-allocated and the folio_size calculation is not right.
>>
>> Thanks,
>> SJ
>>
>>>       return accessed;
>>>   }
>>> -- 
>>> 2.35.3
>>>
>>>

  reply	other threads:[~2023-03-06  1:56 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-03  8:43 [PATCH v2 0/3] mm/damon/paddr: minor code improvement Kefeng Wang
2023-03-03  8:43 ` [PATCH v2 1/3] mm/damon/paddr: minor refactor of damon_pa_pageout() Kefeng Wang
2023-03-03 18:41   ` SeongJae Park
2023-03-03  8:43 ` [PATCH v2 2/3] mm/damon/paddr: minor refactor of damon_pa_young() Kefeng Wang
2023-03-03 18:39   ` SeongJae Park
2023-03-06  1:10     ` Kefeng Wang
2023-03-06  1:56       ` Kefeng Wang [this message]
2023-03-06 21:27         ` SeongJae Park
2023-03-07  1:22           ` Kefeng Wang
2023-03-07 18:00             ` SeongJae Park
2023-03-08  1:03               ` Kefeng Wang
2023-03-03  8:43 ` [PATCH v2 3/3] mm/damon/paddr: minor refactor of damon_pa_mark_accessed_or_deactivate() Kefeng Wang
2023-03-03 18:26   ` SeongJae Park
2023-03-03 18:37     ` SeongJae Park
2023-03-06  1:12       ` Kefeng Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202ac11d-3692-69bf-3984-627c1b9f9d38@huawei.com \
    --to=wangkefeng.wang@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=damon@lists.linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=sj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.