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 A0F3BC433FE for ; Mon, 7 Nov 2022 18:48:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2C63A6B0072; Mon, 7 Nov 2022 13:48:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 276AC6B0073; Mon, 7 Nov 2022 13:48:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 165986B0075; Mon, 7 Nov 2022 13:48:16 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 06C6A6B0072 for ; Mon, 7 Nov 2022 13:48:16 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id D39124040E for ; Mon, 7 Nov 2022 18:48:15 +0000 (UTC) X-FDA: 80107531350.11.68B876B Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by imf19.hostedemail.com (Postfix) with ESMTP id 6B17C1A0002 for ; Mon, 7 Nov 2022 18:48:15 +0000 (UTC) Received: by mail-pj1-f50.google.com with SMTP id l6so11443061pjj.0 for ; Mon, 07 Nov 2022 10:48:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=b/mVKZ1bFQdlUizThgCTbRg+MO3jqWhYkRQgvO7dqeM=; b=fbMozeF4n5EHDWPz6r5hCdFs1Bw1rdu0oQVjqsl+Qtfjf2SBsbFrydgpV9aYcY7hw7 eEl/lyTd6zndxz13T3BNqFJ4Si79bxop0+YmvZixx/35134bxD289Aesbj5IRswQbFgP s/GFOweacw+IvYKfxGxXRvlMsjnQJyOrvWgKEaI3bbHXD7TTENZYLhcd/T/K/D6kk26+ MoGFfkA7851lcbQ9599QOEdb5TiKdf+x1ewjjxh9PwcKY24HevULCHg8FNxGsvSpSbJB J5pssEP0VFlfKIrgKAMMo9mAB+okQByv5z0LyhvDOX/lqTg3uupRuKaepEax/haUCpAi +MHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=b/mVKZ1bFQdlUizThgCTbRg+MO3jqWhYkRQgvO7dqeM=; b=dUy2asDcZtuC6FJwIY7kLWE/pXPQbLhTru0jNFdVb9A8PyTsfcjQJZioK1U16jahZx WFTa+pee6oLPku/JEEiKSnlzYZNw9wB1zgN+AnA0XS9WqxG0oYCrWcFjhjw6u/jzdn6m Xs6xV/gTYHFnGJFJh3hn7DPH80ZcH3oxvyS7WA57aKZotgu9n0poFWiL1MpAJQ9NKZR/ C/1owuqUFD+pp9z3pN7Cmw50Jeegk2z2Hn+2qVGDGJCO38Cs8PjtEBvwCZh+u6UlnLAk mkEHnSc1Feq48FdGrNZgWcbNovv3F1qgFwozDqKCscJ8AeT9AVXY+rZno5E8Zbwb6QCM w48g== X-Gm-Message-State: ACrzQf04QQLQw+jTQQn7AWN+pZ/gBhiitO1g1+Gx/hPGtIaheobe31IY i9Pr/u82v9NczV0HJ0a4dsSO+hubgXQxbgW+YCU= X-Google-Smtp-Source: AMsMyM4dPJ3isgIMQ6jokDPwcgATqWzPQOBNqxwDuM3Aa+5cHXNFOYaixG4Bl+NGMMejBk4Is4TRZZNYRHj8PAze8LE= X-Received: by 2002:a17:903:3291:b0:179:c436:4528 with SMTP id jh17-20020a170903329100b00179c4364528mr871743plb.102.1667846894287; Mon, 07 Nov 2022 10:48:14 -0800 (PST) MIME-Version: 1.0 References: <20221103213641.7296-1-shy828301@gmail.com> <20221103213641.7296-2-shy828301@gmail.com> In-Reply-To: From: Yang Shi Date: Mon, 7 Nov 2022 10:48:01 -0800 Message-ID: Subject: Re: [v2 PATCH 2/2] mm: don't warn if the node is offlined To: Michal Hocko Cc: zokeefe@google.com, akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667846895; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=b/mVKZ1bFQdlUizThgCTbRg+MO3jqWhYkRQgvO7dqeM=; b=2yawwLxGBSyc6+1GhlBPlkcWFEEigQBBMgm0mEeV6vb7yR3k8TKVOXXKR0Atp7Lvc7g411 iIPWkUTvNMA7IA1ocT/j5kcunceUTLm11v7Z4dMYHVYFdME8aISFlN5HDwrd5FQueMpX6J r4vkLVBuuDEOG6A8Gh4qO/PNDW2BVU4= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=fbMozeF4; spf=pass (imf19.hostedemail.com: domain of shy828301@gmail.com designates 209.85.216.50 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1667846895; a=rsa-sha256; cv=none; b=r5MXKlydNuWSWtgJMRM0M1j826O3mjxqtnwTTDr2lswBsd79ib7rTqr5K/+D7NhSPUHi1X ZOQaGD9KEKRh7Ezed1P7M5sYPeljXYp3aTOA73mWmWBfh15aRUjVLgpA7uEOtRKU65Ng04 wZONbprKR5N6lUoIFsE+Qxdq0PZQnls= Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=fbMozeF4; spf=pass (imf19.hostedemail.com: domain of shy828301@gmail.com designates 209.85.216.50 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 6B17C1A0002 X-Stat-Signature: kc9ad3y9f1tzt6da5nrs8uwpntyfihoo X-HE-Tag: 1667846895-370613 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 Sun, Nov 6, 2022 at 11:55 PM Michal Hocko wrote: > > On Fri 04-11-22 13:52:52, Yang Shi wrote: > > On Fri, Nov 4, 2022 at 12:51 PM Michal Hocko wrote: > > > > > > On Fri 04-11-22 10:42:45, Yang Shi wrote: > > > > On Fri, Nov 4, 2022 at 2:56 AM Michal Hocko wrote: > > > > > > > > > > On Fri 04-11-22 10:35:21, Michal Hocko wrote: > > > > > [...] > > > > > > diff --git a/include/linux/gfp.h b/include/linux/gfp.h > > > > > > index ef4aea3b356e..308daafc4871 100644 > > > > > > --- a/include/linux/gfp.h > > > > > > +++ b/include/linux/gfp.h > > > > > > @@ -227,7 +227,10 @@ static inline > > > > > > struct folio *__folio_alloc_node(gfp_t gfp, unsigned int order, int nid) > > > > > > { > > > > > > VM_BUG_ON(nid < 0 || nid >= MAX_NUMNODES); > > > > > > - VM_WARN_ON((gfp & __GFP_THISNODE) && !node_online(nid)); > > > > > > + if((gfp & __GFP_THISNODE) && !node_online(nid)) { > > > > > > > > > > or maybe even better > > > > > if ((gfp & (__GFP_THISNODE|__GFP_NOWARN) == __GFP_THISNODE|__GFP_NOWARN) && !node_online(nid)) > > > > > > > > > > because it doesn't really make much sense to dump this information if > > > > > the allocation failure is going to provide sufficient (and even more > > > > > comprehensive) context for the failure. It looks more hairy but this can > > > > > be hidden in a nice little helper shared between the two callers. > > > > > > > > Thanks a lot for the suggestion, printing warning if the gfp flag > > > > allows sounds like a good idea to me. Will adopt it. But the check > > > > should look like: > > > > > > > > if ((gfp & __GFP_THISNODE) && !(gfp & __GFP_NOWARN) && !node_online(nid)) > > > > > > The idea was to warn if __GFP_NOWARN _was_ specified. Otherwise we will > > > get an allocation failure splat from the page allocator and there it > > > will be clear that the node doesn't have any memory associated. It is > > > exactly __GFP_NOWARN case that would be a silent failure and potentially > > > a buggy code (like this THP collapse path). See my point? > > > > Aha, yeah, see your point now. I didn't see the splat from the > > allocator from the bug report, then I realized it had not called into > > allocator yet before the warning was triggered. > > And it would trigger even if it did because GFP_TRANSHUGE has > __GFP_NOWARN Yeah, the syzbot has panic on warn set, so kernel just panicked before entering the allocator. > -- > Michal Hocko > SUSE Labs