Received: by 2002:a05:6358:111d:b0:dc:6189:e246 with SMTP id f29csp309006rwi; Wed, 2 Nov 2022 12:10:17 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6zWDET6m0LxzRAxQN0V8kGhEu08Ky83sjDIVNGwjs3KpRfXKR7zmjEIQSHLggJXBY/gcrG X-Received: by 2002:a05:6402:2201:b0:44f:443e:2a78 with SMTP id cq1-20020a056402220100b0044f443e2a78mr25358896edb.76.1667416216926; Wed, 02 Nov 2022 12:10:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667416216; cv=none; d=google.com; s=arc-20160816; b=bH9ANie0rRvACeLrlWINBfcojDtmxtWvNXGs0OZ8ewqP83HvFkQeBn3p8Q2ewV7TRP fWdOagkNEEY84yX4N/nQ9lP8rjUkK9pZ1k4BwF5MOYxwuUNO8eaPIEI3r6uDJfNCoRWe EhoUwqfIKstaxM56sv7PhO/l0PAjZA4SF5UCll2Kv6uAUJxum4oMHRt23PWiLhSbqSis KDrLvNh19hmYQGmxykv/0kBFCxpCBiT1VoxqLbLhULpWRHwaispA5b2NBpTZ3qSnQ4oq 5mz33GG9h11jQF83hswPnYi+0uWkgRaRJ4+qbYRGxCTs2UXhxsChi39CHIxZJVDYJHcc VA1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=CdYKm5wdZipIcutmvlbbV3SRLDzTmAvD0R5AITtaDwQ=; b=MUhXP5pqdDSJHCpilSHEMLsVruVIisE0qIFJojD7mXHmkpf0rIABq/ujp2UqC8dRGt nhKeB90thwQoSMtDqGC2/LnRScBFU8O0fzhMgFYYHDwd+wV7Jnlojc+j+7QQRPmmsUlv FbJ9MSW+MCU8We+pUVBLXw2DeoS2p3GS778y24lxQnlywdvX957AOcrVRaYRkVXL5i/r NnrCZM3CyVIcMgAZJe4fSnHa7jZPvDq4dnyDG77o/PIpZ63Cur9VEWz0U5KWpudlAUcX Wa61ew4HnMYN15yz0dJF8dxRyyk7FQEB4NzkeI30hiVAFKh6tpZx43hTnT91niVjRRSw ljNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=WKGMtqnG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ji1-20020a170907980100b0078d484e0e7esi4469139ejc.488.2022.11.02.12.09.50; Wed, 02 Nov 2022 12:10:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=WKGMtqnG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230419AbiKBSSs (ORCPT + 99 others); Wed, 2 Nov 2022 14:18:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44838 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230207AbiKBSSq (ORCPT ); Wed, 2 Nov 2022 14:18:46 -0400 Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DBF302F00D for ; Wed, 2 Nov 2022 11:18:45 -0700 (PDT) Received: by mail-pl1-x629.google.com with SMTP id b21so1485520plc.9 for ; Wed, 02 Nov 2022 11:18:45 -0700 (PDT) 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=CdYKm5wdZipIcutmvlbbV3SRLDzTmAvD0R5AITtaDwQ=; b=WKGMtqnGUFEZ/CNX5AzbQ/FhR7nrJMzCa5zkAFrTr6uyWYNFdTVdCm7p8oanZs4h2V cbBie+UH1s35PXHnnh/5B9FKvIH6Ah0ODn8oaPKlf00e/BUkZLuDLiueRs1hAuKgK923 eBo9QDZVPIrbndZ2aJlLt3eTeks1sVGhf/FgZqWKs857vJL7vplOjWr2YdDowVg3N/xx B3A2/Jsm62mwW/kuk2Dg55G9Gi4RfQMVcnVZ8WokzYtNr0JYKFMUyQi1EKfNmV3e/l9N 8Vfobi2LoqvjATM2bKvEpQ5KF1vWPM2LIYl0zLqwT+CbaJga6uqLYzQlmbMBFPloCCwj qe4w== 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=CdYKm5wdZipIcutmvlbbV3SRLDzTmAvD0R5AITtaDwQ=; b=thJUmKNP1idPVG8uWMXBlX+PZe3U97QmjBzMQ3hukAWTZm2JfJbRH55QqigSDBr8dM SUkoBf9MbeB1+GgU3XNxGIVcVr1DL68IB+d2fBoBe94Cjymtu4/ALOK2BdDYmZniMS7n hGGrmoUoQBGc1ynJAMGFSdTyI1u9i5Fyf2HQHSXlP+egvBh6pfJ+UMRlLLBXJE41Nxyu k1K0T1cbUCqHcmWC8mVcLvveG7Rckr/cJqYJ9TH9R99FP0p1TuuDvfNzaqpms07Ry1kx k0hSnZgGaEpDye043KFDxRr9HDsR4YD3jzHeEJN1egQ1Lh8fTU74YdZV3/UP6sXpqHbQ 5D2w== X-Gm-Message-State: ACrzQf24W5u9nHVc/Yo/3ff20A3lKXQyd35u280o9ZCootgSy5H3R+To vBrr1SeOkb4/JTSAyB0f4oZD35MgPC1K94ysq2hmLLiO1ZA= X-Received: by 2002:a17:902:d512:b0:181:f1f4:fcb4 with SMTP id b18-20020a170902d51200b00181f1f4fcb4mr26418445plg.102.1667413125322; Wed, 02 Nov 2022 11:18:45 -0700 (PDT) MIME-Version: 1.0 References: <20221031183122.470962-1-shy828301@gmail.com> In-Reply-To: From: Yang Shi Date: Wed, 2 Nov 2022 11:18:32 -0700 Message-ID: Subject: Re: [PATCH] mm: don't warn if the node is offlined To: Michal Hocko Cc: "Zach O'Keefe" , akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 2, 2022 at 10:47 AM Michal Hocko wrote: > > On Wed 02-11-22 10:36:07, Yang Shi wrote: > > On Wed, Nov 2, 2022 at 9:15 AM Michal Hocko wrote: > > > > > > On Wed 02-11-22 09:03:57, Yang Shi wrote: > > > > On Wed, Nov 2, 2022 at 12:39 AM Michal Hocko wrote: > > > > > > > > > > On Tue 01-11-22 12:13:35, Zach O'Keefe wrote: > > > > > [...] > > > > > > This is slightly tangential - but I don't want to send a new mail > > > > > > about it -- but I wonder if we should be doing __GFP_THISNODE + > > > > > > explicit node vs having hpage_collapse_find_target_node() set a > > > > > > nodemask. We could then provide fallback nodes for ties, or if some > > > > > > node contained > some threshold number of pages. > > > > > > > > > > I would simply go with something like this (not even compile tested): > > > > > > > > Thanks, Michal. It is definitely an option. As I talked with Zach, I'm > > > > not sure whether it is worth making the code more complicated for such > > > > micro optimization or not. Removing __GFP_THISNODE or even removing > > > > the node balance code should be fine too IMHO. TBH I doubt there would > > > > be any noticeable difference. > > > > > > I do agree that an explicit nodes (quasi)round robin sounds over > > > engineered. It makes some sense to try to target the prevalent node > > > though because this code can be executed from khugepaged and therefore > > > allocating with a completely different affinity than the original fault. > > > > Yeah, the corner case comes from the node balance code, it just tries > > to balance between multiple prevalent nodes, so you agree to remove it > > IIRC? > > Yeah, let's just collect all good nodes into a nodemask and keep > __GFP_THISNODE in place. You can consider having the nodemask per collapse_control > so that you allocate it only once in the struct lifetime. Actually my intention is more aggressive, just remove that node balance code. > > And as mentioned in other reply it would be really nice to hide this > under CONFIG_NUMA (in a standalong follow up of course). The hpage_collapse_find_target_node() function itself is defined under CONFIG_NUMA. > > -- > Michal Hocko > SUSE Labs