From: Kemeng Shi <shikemeng@huaweicloud.com>
To: Mike Rapoport <rppt@kernel.org>
Cc: akpm@linux-foundation.org, pasha.tatashin@soleen.com,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/3] add page_ext_data to get client data in page_ext
Date: Thu, 20 Jul 2023 16:37:29 +0800 [thread overview]
Message-ID: <cef4f633-8d5c-0029-cbac-feed9f106bfc@huaweicloud.com> (raw)
In-Reply-To: <20230720053736.GM1901145@kernel.org>
on 7/20/2023 1:37 PM, Mike Rapoport wrote:
> Hi,
>
> On Thu, Jul 20, 2023 at 10:38:39AM +0800, Kemeng Shi wrote:
>>
>> on 7/19/2023 5:44 PM, Mike Rapoport wrote:
>>> On Tue, Jul 18, 2023 at 10:58:09PM +0800, Kemeng Shi wrote:
>>>> Current client get data from page_ext by adding offset which is auto
>>>> generated in page_ext core and expose the data layout design insdie
>>>> page_ext core. This series adds a page_ext_data to hide offset from
>>>> client. Thanks!
>>>
>>> Implementers of page_ext_operations are anyway intimately related to
>>> page_ext, so I'm not convinced this has any value.
>>>
>> Hi Mike, thanks for reply. I thinks page_ext_operations can be futher splited
>> into public part which used by client to simply register and private part which
>> only page_ext core cares and should not be accessed by client directly
>> to reduce decoupling.
>
> It would be easier to justify changes in this series if they were a part of
> the refactoring you describe here.
Actually, it's not the refactoring trigger this. I found offset used
in client code while I could not find intialization of offset in client.
After some search, I found how offset is generated in page_ext core and
it's more like a page_ext internal behavior. Feel it's better to reduce
dependency from upper level client to low level internal implementation.
>> This series makes offset to be private which client
>> doesn't really care to hide data layout inside page_ext core from client.
>> There are some concrete gains I can list for now:
>> 1. Future client cound call page_ext_data directly instead of define a
>> new function like get_page_owner to get it's data.
>> 2. No change to client if layout of page_ext data change.
>
> These should be a part of the changelog.
Yes, it's better to highlight the gains. This series was taken into the tree.
I'm not sure if I need send a v2 to include this or Andrew could add this
when code merged to more stable tree.
>> I hope this could be more convincing to you now.
>> Thanks!
>>
>> --
>> Best wishes
>> Kemeng Shi
>>
>
--
Best wishes
Kemeng Shi
next prev parent reply other threads:[~2023-07-20 8:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-18 14:58 Kemeng Shi
2023-07-18 14:58 ` [PATCH 1/3] mm/page_ext: add common function to get client data from page_ext Kemeng Shi
2023-07-18 14:58 ` [PATCH 2/3] mm/page_ext: use page_ext_data helper in page_table_check Kemeng Shi
2023-07-19 9:44 ` [PATCH 0/3] add page_ext_data to get client data in page_ext Mike Rapoport
2023-07-20 2:38 ` Kemeng Shi
2023-07-20 5:37 ` Mike Rapoport
2023-07-20 8:37 ` Kemeng Shi [this message]
2023-08-11 21:39 ` Andrew Morton
2023-08-15 6:43 ` Mike Rapoport
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=cef4f633-8d5c-0029-cbac-feed9f106bfc@huaweicloud.com \
--to=shikemeng@huaweicloud.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=pasha.tatashin@soleen.com \
--cc=rppt@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox