linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mm: check high-order page when free it to pcp
@ 2022-09-19  3:47 zhaoyang.huang
  2022-09-19  5:37 ` Zhaoyang Huang
  2022-09-19 10:42 ` Mel Gorman
  0 siblings, 2 replies; 3+ messages in thread
From: zhaoyang.huang @ 2022-09-19  3:47 UTC (permalink / raw)
  To: Mel Gorman, Andrew Morton, Zhaoyang Huang, linux-mm,
	linux-kernel, ke.wang

From: Zhaoyang Huang <zhaoyang.huang@unisoc.com>

High-order pcp page escaped from checking when both of DEBUG_VM and debug_pagealloc
are all disabled if it allocated again from pcp_list without going to global
free list, which should be introduced by 44042b4498.

fix:44042b4498

Signed-off-by: Zhaoyang Huang <zhaoyang.huang@unisoc.com>
---
 mm/page_alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index e008a3d..e77f3a7 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1437,7 +1437,7 @@ static bool bulkfree_pcp_prepare(struct page *page)
  */
 static bool free_pcp_prepare(struct page *page, unsigned int order)
 {
-	if (debug_pagealloc_enabled_static())
+	if (debug_pagealloc_enabled_static() || order)
 		return free_pages_prepare(page, order, true, FPI_NONE);
 	else
 		return free_pages_prepare(page, order, false, FPI_NONE);
-- 
1.9.1



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] mm: check high-order page when free it to pcp
  2022-09-19  3:47 [PATCH] mm: check high-order page when free it to pcp zhaoyang.huang
@ 2022-09-19  5:37 ` Zhaoyang Huang
  2022-09-19 10:42 ` Mel Gorman
  1 sibling, 0 replies; 3+ messages in thread
From: Zhaoyang Huang @ 2022-09-19  5:37 UTC (permalink / raw)
  To: zhaoyang.huang
  Cc: Mel Gorman, Andrew Morton, open list:MEMORY MANAGEMENT, LKML, Ke Wang

current free_pcp_prepare logic should be inherited from the code
before 44042b4498, where high order pages only reside in the global
list and will be checked during free and alloc.

On Mon, Sep 19, 2022 at 11:47 AM zhaoyang.huang
<zhaoyang.huang@unisoc.com> wrote:
>
> From: Zhaoyang Huang <zhaoyang.huang@unisoc.com>
>
> High-order pcp page escaped from checking when both of DEBUG_VM and debug_pagealloc
> are all disabled if it allocated again from pcp_list without going to global
> free list, which should be introduced by 44042b4498.
>
> fix:44042b4498
>
> Signed-off-by: Zhaoyang Huang <zhaoyang.huang@unisoc.com>
> ---
>  mm/page_alloc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index e008a3d..e77f3a7 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -1437,7 +1437,7 @@ static bool bulkfree_pcp_prepare(struct page *page)
>   */
>  static bool free_pcp_prepare(struct page *page, unsigned int order)
>  {
> -       if (debug_pagealloc_enabled_static())
> +       if (debug_pagealloc_enabled_static() || order)
>                 return free_pages_prepare(page, order, true, FPI_NONE);
>         else
>                 return free_pages_prepare(page, order, false, FPI_NONE);
> --
> 1.9.1
>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] mm: check high-order page when free it to pcp
  2022-09-19  3:47 [PATCH] mm: check high-order page when free it to pcp zhaoyang.huang
  2022-09-19  5:37 ` Zhaoyang Huang
@ 2022-09-19 10:42 ` Mel Gorman
  1 sibling, 0 replies; 3+ messages in thread
From: Mel Gorman @ 2022-09-19 10:42 UTC (permalink / raw)
  To: zhaoyang.huang
  Cc: Andrew Morton, Zhaoyang Huang, linux-mm, linux-kernel, ke.wang

On Mon, Sep 19, 2022 at 11:47:18AM +0800, zhaoyang.huang wrote:
> From: Zhaoyang Huang <zhaoyang.huang@unisoc.com>
> 
> High-order pcp page escaped from checking when both of DEBUG_VM and debug_pagealloc
> are all disabled if it allocated again from pcp_list without going to global
> free list, which should be introduced by 44042b4498.
> 
> fix:44042b4498
> 
> Signed-off-by: Zhaoyang Huang <zhaoyang.huang@unisoc.com>

Is this based on the comment mentioning order-0 pages above
free_pcp_prepare()? I ask because the comment is wrong and in both
instances should have s/order-0//

-- 
Mel Gorman
SUSE Labs


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-09-19 10:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-19  3:47 [PATCH] mm: check high-order page when free it to pcp zhaoyang.huang
2022-09-19  5:37 ` Zhaoyang Huang
2022-09-19 10:42 ` Mel Gorman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox