From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3FF6CC54EE9 for ; Tue, 13 Sep 2022 07:02:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B9B466B0072; Tue, 13 Sep 2022 03:02:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B4A916B0073; Tue, 13 Sep 2022 03:02:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A61EC8D0001; Tue, 13 Sep 2022 03:02:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 92D6E6B0072 for ; Tue, 13 Sep 2022 03:02:58 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 6CF60A0855 for ; Tue, 13 Sep 2022 07:02:58 +0000 (UTC) X-FDA: 79906170036.08.A48300E Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf27.hostedemail.com (Postfix) with ESMTP id 9DA76400FA for ; Tue, 13 Sep 2022 07:02:57 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DF4A7106F; Tue, 13 Sep 2022 00:03:02 -0700 (PDT) Received: from [10.162.42.9] (unknown [10.162.42.9]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 123293F73B; Tue, 13 Sep 2022 00:03:21 -0700 (PDT) Message-ID: Date: Tue, 13 Sep 2022 12:32:50 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH 01/16] mm/page_alloc: ensure kswapd doesn't accidentally go to sleep Content-Language: en-US To: Miaohe Lin , akpm@linux-foundation.org Cc: david@redhat.com, osalvador@suse.de, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20220909092451.24883-1-linmiaohe@huawei.com> <20220909092451.24883-2-linmiaohe@huawei.com> From: Anshuman Khandual In-Reply-To: <20220909092451.24883-2-linmiaohe@huawei.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1663052578; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pm8TCpT9zgQTq/4Ov0Ex0044yIsgbuV+Uar88QFBeps=; b=r0nN+KJFw/F2Rxm7VeyPPHwsHW4A9zXUMkfz0CFRpNCTiVVsmcQudAj9/vnhe3ap8wFSvY y8bhkM4RYAb5uUFz7Jegdp3kZauZxEKMGb1VNTFKTwFT7dXl4zwupZyYYy83G6tUUVRN8I bdQlP3jVT2qU1gr9GOfSWe0JUEaQfIM= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf27.hostedemail.com: domain of anshuman.khandual@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1663052578; a=rsa-sha256; cv=none; b=unrOUn+3FFMt5FKxXLhXIG20VKzwXRVTBZZ989sM8CwpmcsMAMlWVtDwOdvR65XwiSeJj0 Doto9ebStwn53hcnyDWUHrAAMZrvzNCMHB+KojLFsuJp0eBleQ/D2I+gYX2S+v2u7fQU8m 921iampnlRl7KFkYRGg35FwZQOOFRWc= X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 9DA76400FA Authentication-Results: imf27.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf27.hostedemail.com: domain of anshuman.khandual@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=anshuman.khandual@arm.com X-Stat-Signature: r7ebraise4wnynabuhkswe64eh6sfnsy X-Rspam-User: X-HE-Tag: 1663052577-727481 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: 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 > --- > 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