All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: Miaohe Lin <linmiaohe@huawei.com>, akpm@linux-foundation.org
Cc: david@redhat.com, osalvador@suse.de, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 01/16] mm/page_alloc: ensure kswapd doesn't accidentally go to sleep
Date: Tue, 13 Sep 2022 12:32:50 +0530	[thread overview]
Message-ID: <ea96d35e-46ae-c168-3186-ddf58ad6806c@arm.com> (raw)
In-Reply-To: <20220909092451.24883-2-linmiaohe@huawei.com>



On 9/9/22 14:54, Miaohe Lin wrote:
> If ALLOC_KSWAPD is set, wake_all_kswapds() will be called to ensure
> kswapd doesn't accidentally go to sleep. But when reserve_flags is
> set, alloc_flags will be overwritten and ALLOC_KSWAPD is thus lost.
> Preserve the ALLOC_KSWAPD flag in alloc_flags to ensure kswapd won't
> go to sleep accidentally.

Currently wake_all_kswapds() gets skipped subsequently if ALLOC_KSWAPD
is lost, but this only happens when the 'retry:' loops is taken ?

> 
> Fixes: 0a79cdad5eb2 ("mm: use alloc_flags to record if kswapd can wake")
> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
> ---
>  mm/page_alloc.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index ba5c9402a5cb..4b97a03fa2dd 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -5147,7 +5147,8 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,
>  
>  	reserve_flags = __gfp_pfmemalloc_flags(gfp_mask);
>  	if (reserve_flags)
> -		alloc_flags = gfp_to_alloc_flags_cma(gfp_mask, reserve_flags);
> +		alloc_flags = gfp_to_alloc_flags_cma(gfp_mask, reserve_flags) |
> +					  (alloc_flags & ALLOC_KSWAPD);
>  
>  	/*
>  	 * Reset the nodemask and zonelist iterators if memory policies can be

  parent reply	other threads:[~2022-09-13  7:03 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-09  9:24 [PATCH 00/16] A few cleanup patches for mm Miaohe Lin
2022-09-09  9:24 ` [PATCH 01/16] mm/page_alloc: ensure kswapd doesn't accidentally go to sleep Miaohe Lin
2022-09-09 11:39   ` David Hildenbrand
2022-09-13  7:02   ` Anshuman Khandual [this message]
2022-09-13  7:58     ` Matthew Wilcox
2022-09-13 11:23       ` Anshuman Khandual
2022-09-15  4:34   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 02/16] mm/page_alloc: make zone_pcp_update() static Miaohe Lin
2022-09-09 11:26   ` David Hildenbrand
2022-09-13  7:58   ` Anshuman Khandual
2022-09-15  4:41   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 03/16] mm: remove obsolete macro NR_PCP_ORDER_MASK Miaohe Lin
2022-09-09 11:26   ` David Hildenbrand
2022-09-09 19:37   ` Matthew Wilcox
2022-09-13  3:14     ` Miaohe Lin
2022-09-13  8:03   ` Anshuman Khandual
2022-09-15  4:44   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 04/16] mm/page_alloc: remove obsolete comment in zone_statistics() Miaohe Lin
2022-09-09 11:27   ` David Hildenbrand
2022-09-13  8:15   ` Anshuman Khandual
2022-09-15  4:47   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 05/16] mm/page_alloc: add __init annotations to init_mem_debugging_and_hardening() Miaohe Lin
2022-09-09 11:27   ` David Hildenbrand
2022-09-13  8:20   ` Anshuman Khandual
2022-09-15  4:49   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 06/16] mm/page_alloc: fix freeing static percpu memory Miaohe Lin
2022-09-09 11:28   ` David Hildenbrand
2022-09-15  4:53   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 07/16] mm: remove obsolete pgdat_is_empty() Miaohe Lin
2022-09-09 11:28   ` David Hildenbrand
2022-09-13  8:43   ` Anshuman Khandual
2022-09-15  4:55   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 08/16] mm/page_alloc: add missing is_migrate_isolate() check in set_page_guard() Miaohe Lin
2022-09-09 11:31   ` David Hildenbrand
2022-09-13  6:51     ` Miaohe Lin
2022-09-15  7:26   ` Oscar Salvador
2022-09-15  8:11     ` Miaohe Lin
2022-09-09  9:24 ` [PATCH 09/16] mm/page_alloc: use local variable zone_idx directly Miaohe Lin
2022-09-09 11:31   ` David Hildenbrand
2022-09-13  8:49   ` Anshuman Khandual
2022-09-15  7:36   ` Oscar Salvador
2022-09-15  8:06     ` Miaohe Lin
2022-09-09  9:24 ` [PATCH 10/16] mm, memory_hotplug: remove obsolete generic_free_nodedata() Miaohe Lin
2022-09-09 11:32   ` David Hildenbrand
2022-09-13  8:57   ` Anshuman Khandual
2022-09-15  7:37   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 11/16] mm/page_alloc: make boot_nodestats static Miaohe Lin
2022-09-09 11:32   ` David Hildenbrand
2022-09-13  9:00   ` Anshuman Khandual
2022-09-15  7:38   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 12/16] mm/page_alloc: use helper macro SZ_1{K,M} Miaohe Lin
2022-09-09 11:34   ` David Hildenbrand
2022-09-09 19:44     ` Matthew Wilcox
2022-09-13  7:04       ` Miaohe Lin
2022-09-09  9:24 ` [PATCH 13/16] mm/page_alloc: init local variable buddy_pfn Miaohe Lin
2022-09-09 11:36   ` David Hildenbrand
2022-09-13  9:06   ` Anshuman Khandual
2022-09-15  7:42   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 14/16] mm/page_alloc: use costly_order in WARN_ON_ONCE_GFP() Miaohe Lin
2022-09-09 11:37   ` David Hildenbrand
2022-09-13  9:08   ` Anshuman Khandual
2022-09-15  7:45   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 15/16] mm/page_alloc: remove obsolete gfpflags_normal_context() Miaohe Lin
2022-09-09 11:37   ` David Hildenbrand
2022-09-13 11:12   ` Anshuman Khandual
2022-09-13 11:13   ` Anshuman Khandual
2022-09-15  7:48   ` Oscar Salvador
2022-09-09  9:24 ` [PATCH 16/16] mm/page_alloc: fix obsolete comment in deferred_pfn_valid() Miaohe Lin
2022-09-09 11:25   ` David Hildenbrand
2022-09-13 11:17   ` Anshuman Khandual
2022-09-15  7:50   ` Oscar Salvador

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=ea96d35e-46ae-c168-3186-ddf58ad6806c@arm.com \
    --to=anshuman.khandual@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=david@redhat.com \
    --cc=linmiaohe@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=osalvador@suse.de \
    /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.