2020-11-06 11:35:51

by Alex Shi

[permalink] [raw]
Subject: [PATCH] mm/memcg: update page struct member in comments

The page->mem_cgroup member is replaced by memcg_data, and add a helper
page_memcg() for it. Need to update comments to avoid confusing.

Signed-off-by: Alex Shi <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Vladimir Davydov <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
mm/memcontrol.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index b2aa3b73ab82..8a8debea34fc 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1310,7 +1310,7 @@ int mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
* @page: the page
* @pgdat: pgdat of the page
*
- * This function relies on page->mem_cgroup being stable - see the
+ * This function relies on page_memcg(page) being stable - see the
* access rules in commit_charge().
*/
struct lruvec *mem_cgroup_page_lruvec(struct page *page, struct pglist_data *pgdat)
@@ -2862,7 +2862,7 @@ static void commit_charge(struct page *page, struct mem_cgroup *memcg)
{
VM_BUG_ON_PAGE(page_memcg(page), page);
/*
- * Any of the following ensures page->mem_cgroup stability:
+ * Any of the following ensures page_memcg(page) stability:
*
* - the page lock
* - LRU isolation
--
1.8.3.1


2020-11-06 18:49:21

by Ira Weiny

[permalink] [raw]
Subject: Re: [PATCH] mm/memcg: update page struct member in comments

On Fri, Nov 06, 2020 at 07:33:33PM +0800, Alex Shi wrote:
> The page->mem_cgroup member is replaced by memcg_data, and add a helper
> page_memcg() for it. Need to update comments to avoid confusing.

I'm not an expert in this code but IMO the pointer manipulation of
page->mem_cgroup could be thought of as local to the code in mm/memcontrol.c.
As such the detail of the member of the page struct that the code depends on is
a valuable part of the comment. Having to look at page_memcg() to find out
this information is kind of annoying.

Ira

>
> Signed-off-by: Alex Shi <[email protected]>
> Cc: Johannes Weiner <[email protected]>
> Cc: Michal Hocko <[email protected]>
> Cc: Vladimir Davydov <[email protected]>
> Cc: Andrew Morton <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
> mm/memcontrol.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index b2aa3b73ab82..8a8debea34fc 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1310,7 +1310,7 @@ int mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
> * @page: the page
> * @pgdat: pgdat of the page
> *
> - * This function relies on page->mem_cgroup being stable - see the
> + * This function relies on page_memcg(page) being stable - see the
> * access rules in commit_charge().
> */
> struct lruvec *mem_cgroup_page_lruvec(struct page *page, struct pglist_data *pgdat)
> @@ -2862,7 +2862,7 @@ static void commit_charge(struct page *page, struct mem_cgroup *memcg)
> {
> VM_BUG_ON_PAGE(page_memcg(page), page);
> /*
> - * Any of the following ensures page->mem_cgroup stability:
> + * Any of the following ensures page_memcg(page) stability:
> *
> * - the page lock
> * - LRU isolation
> --
> 1.8.3.1
>

2020-11-06 20:53:53

by Roman Gushchin

[permalink] [raw]
Subject: Re: [PATCH] mm/memcg: update page struct member in comments

On Fri, Nov 06, 2020 at 07:33:33PM +0800, Alex Shi wrote:
> The page->mem_cgroup member is replaced by memcg_data, and add a helper
> page_memcg() for it. Need to update comments to avoid confusing.

Hi Alex,

thank you for bringing it in!
I definitely missed those.

>
> Signed-off-by: Alex Shi <[email protected]>
> Cc: Johannes Weiner <[email protected]>
> Cc: Michal Hocko <[email protected]>
> Cc: Vladimir Davydov <[email protected]>
> Cc: Andrew Morton <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
> mm/memcontrol.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index b2aa3b73ab82..8a8debea34fc 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1310,7 +1310,7 @@ int mem_cgroup_scan_tasks(struct mem_cgroup *memcg,
> * @page: the page
> * @pgdat: pgdat of the page
> *
> - * This function relies on page->mem_cgroup being stable - see the
> + * This function relies on page_memcg(page) being stable - see the
> * access rules in commit_charge().

There are "page and memcg binding" and "page's memcg" used in similar cases,
I think it's more obvious than "page_memcg(page) being stable".

Maybe it helps to address Ira's comment.

Anyway, please feel free to add:
Acked-by: Roman Gushchin <[email protected]>

Thanks!

2020-11-07 13:36:42

by Alex Shi

[permalink] [raw]
Subject: Re: [PATCH] mm/memcg: update page struct member in comments



?? 2020/11/7 ????4:51, Roman Gushchin ะด??:
> There are "page and memcg binding" and "page's memcg" used in similar cases,
> I think it's more obvious than "page_memcg(page) being stable".
>
> Maybe it helps to address Ira's comment.
>
> Anyway, please feel free to add:
> Acked-by: Roman Gushchin <[email protected]>
>
> Thanks!

Thanks a lot! Roman.
here is the updated patch with your suggestion and ack.


From 0db2bd8f3833ec5e58c6978f771b05e4902e5156 Mon Sep 17 00:00:00 2001
From: Alex Shi <[email protected]>
Date: Fri, 6 Nov 2020 19:33:33 +0800
Subject: [PATCH v2] mm/memcg: update page struct member in comments

The page->mem_cgroup member is replaced by memcg_data, and add a helper
page_memcg() for it. Need to update comments to avoid confusing.

Signed-off-by: Alex Shi <[email protected]>
Acked-by: Roman Gushchin <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Vladimir Davydov <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
mm/memcontrol.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 7657f16cf992..b6560ab1adc4 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1330,7 +1330,7 @@ void lruvec_memcg_debug(struct lruvec *lruvec, struct page *page)
* @page: the page
* @pgdat: pgdat of the page
*
- * This function relies on page->mem_cgroup being stable - see the
+ * This function relies on page's memcg being stable - see the
* access rules in commit_charge().
*/
struct lruvec *mem_cgroup_page_lruvec(struct page *page, struct pglist_data *pgdat)
@@ -2942,7 +2942,7 @@ static void commit_charge(struct page *page, struct mem_cgroup *memcg)
{
VM_BUG_ON_PAGE(page_memcg(page), page);
/*
- * Any of the following ensures page->mem_cgroup stability:
+ * Any of the following ensures page's memcg stability:
*
* - the page lock
* - LRU isolation
--
1.8.3.1