2021-11-18 18:11:38

by Donghai Qiao

[permalink] [raw]
Subject: [PATCH] mm/page_counter: remove an incorrect call to propagate_protected_usage()

The function propagate_protected_usage() is called to propagate the usage
change in the page_counter structure. But there is call to this function
from page_counter_try_charge() when there is actually no usage change.
Hence this call should be removed.

Signed-off-by: Donghai Qiao <[email protected]>
---
mm/page_counter.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/mm/page_counter.c b/mm/page_counter.c
index 7d83641eb86b..eb156ff5d603 100644
--- a/mm/page_counter.c
+++ b/mm/page_counter.c
@@ -120,7 +120,6 @@ bool page_counter_try_charge(struct page_counter *counter,
new = atomic_long_add_return(nr_pages, &c->usage);
if (new > c->max) {
atomic_long_sub(nr_pages, &c->usage);
- propagate_protected_usage(c, new);
/*
* This is racy, but we can live with some
* inaccuracy in the failcnt which is only used
--
2.27.0



2021-11-18 19:16:24

by Roman Gushchin

[permalink] [raw]
Subject: Re: [PATCH] mm/page_counter: remove an incorrect call to propagate_protected_usage()

On Thu, Nov 18, 2021 at 01:11:25PM -0500, Donghai Qiao wrote:
> The function propagate_protected_usage() is called to propagate the usage
> change in the page_counter structure. But there is call to this function
> from page_counter_try_charge() when there is actually no usage change.
> Hence this call should be removed.
>
> Signed-off-by: Donghai Qiao <[email protected]>

Reviewed-by: Roman Gushchin <[email protected]>

Thanks, Donghai!