From patchwork Fri Oct 20 11:04:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qi Zheng X-Patchwork-Id: 13430595 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 705B5CDB47E for ; Fri, 20 Oct 2023 11:05:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E350D6B02C1; Fri, 20 Oct 2023 07:05:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DE50E6B02C2; Fri, 20 Oct 2023 07:05:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C5ED16B02C3; Fri, 20 Oct 2023 07:05:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B18146B02C1 for ; Fri, 20 Oct 2023 07:05:21 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 7C0EC8086D for ; Fri, 20 Oct 2023 11:05:21 +0000 (UTC) X-FDA: 81365558442.13.F38FE22 Received: from mail-oa1-f45.google.com (mail-oa1-f45.google.com [209.85.160.45]) by imf15.hostedemail.com (Postfix) with ESMTP id AE4B7A003E for ; Fri, 20 Oct 2023 11:05:18 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=gKqUCCmG; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf15.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.160.45 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1697799918; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=gK+cFoR1MyWIl8n0phUtp2lC8tfEt3+4PWkcgkrk9lI=; b=NW1UPCiCcNGMpLABStPYtn+Ktpem8mcVhUbwm3gJuJQ7hz8fTx93Bho6mIc41kS+/zsJKu zi54ltgPVSt4SbwYAqIZIKy7hs5jgQiCpsbRJK+DSms1wrtWbEpwrYtEzVTeFNY5R9NKQ/ hNhJL+k+/yVwMYL/B150Dh6NxBfKeWw= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=gKqUCCmG; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf15.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.160.45 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1697799918; a=rsa-sha256; cv=none; b=WN189U716p8dHa6GIlDlvBu+COCZWtt0D7IH/MdFZLadHOe6riuQWXx6asZa57DjYG0yP3 GriTYJT6QCIZSPTNJOf32LBxTl45D/xjPy0ieCgANWWwGomlRRQylajr4inX0nOKVWB2HW DZamBiIkYtvvdxtN08WYGx3sUJPVPnw= Received: by mail-oa1-f45.google.com with SMTP id 586e51a60fabf-1e9c28f8193so191656fac.1 for ; Fri, 20 Oct 2023 04:05:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1697799918; x=1698404718; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gK+cFoR1MyWIl8n0phUtp2lC8tfEt3+4PWkcgkrk9lI=; b=gKqUCCmGEBKhfCNoaovs87P+DVn7Ozlok9GmJTWATe07qegy7mbX7PbgPEPf3ATypz ylFr5fmj/hJn5obvQFoXJ/7JzzHrc+sLcS7q+DQ/XQNS0rgQoJGzlIqHYemIURqD1vAd TcXW+tdTtv0xdV/bQoP7sQC477cGJPuAJkGg3a/rUpJ4i6rDe9nkwtyS7DkOIF6xLbkk rCoT07h+N52PFBdI60oK/jOTbOYVghCeLZIQlBSRfou+m2FgAHOdfAlPyfCis/6O+zuT t4wdpCx0CIoSt+SZSH66i5rdDfocy+6CXoA2IxGUm3JaUnvATamd2xeuDBujZ9oLqgBf bsoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697799918; x=1698404718; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gK+cFoR1MyWIl8n0phUtp2lC8tfEt3+4PWkcgkrk9lI=; b=SJeYA8VYF4P7vGunOehdYZ90aibTV2paXWWixBYbWogscV9ueXtS4AAoHd6D5KqD8I ECU/wUfRoKjbrwANFYDeRytBW952kLxno4e7mWZQSwucjNY1ozSOcK5S4xtSqD+2mqH7 nYRRP71jttwJ0gDDIWVxMTEH8nq4IHY0ohLOKCvGr4vy68Dcxgp1w/VMgQDSRc3G81/x MwOk4EEXHeDYGHve5LTk0ayqFxLSLHq0y+WnOB71w5P3xCxgx6VzbtAY/PYh+oNyl1+6 rK4U6hDCuweZ1WsiFBOtJ5MAfF3sAGnt3yCgx+HqL1snDLroybr7mCXYAeqT+jTXIKyl GCsQ== X-Gm-Message-State: AOJu0YxRj7u4PAFCe7yM0Qnvh3VTAADEx9IgBH8a1WczxwhxeapaxboH 8DObbltV2EgPP0VA/Px9zlOFVQ== X-Google-Smtp-Source: AGHT+IHzpFn+0JMDaI4Gs/mdtLhr+NGf107MOT2wTDU+64UeBpwHiVD2ZcJQjGH+akRjScgKxgEiwg== X-Received: by 2002:a05:6358:5922:b0:168:a35c:f07b with SMTP id g34-20020a056358592200b00168a35cf07bmr1449368rwf.0.1697799917664; Fri, 20 Oct 2023 04:05:17 -0700 (PDT) Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.147]) by smtp.gmail.com with ESMTPSA id z6-20020aa79f86000000b006be4bb0d2dcsm1323865pfr.149.2023.10.20.04.05.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Oct 2023 04:05:17 -0700 (PDT) From: Qi Zheng To: akpm@linux-foundation.org, rppt@kernel.org, david@redhat.com, vbabka@suse.cz, mhocko@suse.com Cc: willy@infradead.org, mgorman@techsingularity.net, mingo@kernel.org, aneesh.kumar@linux.ibm.com, ying.huang@intel.com, hannes@cmpxchg.org, osalvador@suse.de, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Qi Zheng Subject: [PATCH v4 1/2] mm: page_alloc: skip memoryless nodes entirely Date: Fri, 20 Oct 2023 19:04:45 +0800 Message-Id: <7300fc00a057eefeb9a68c8ad28171c3f0ce66ce.1697799303.git.zhengqi.arch@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: References: MIME-Version: 1.0 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: AE4B7A003E X-Stat-Signature: xxhb7ibjmz6ae3q8j3r5fyndcss1spkt X-Rspam-User: X-HE-Tag: 1697799918-717973 X-HE-Meta: U2FsdGVkX18B8ALKU2avnI+CWXPkv+4h28EuEHZ4vK9mM+ihHkGnW24Px3hGZjfLehZGfMm+/0xypcly+omB4r9c42TjaeZPpIq+Oh6JADtrtFaBW+wgn4fe/vTxsc2pFcp8EG9VWM9SAo9JAY3DhVgyLhVV62xGN5uV4tFdONtcOJymqp2XNvCtXVJTqXhkYE50/OqXneofV01G+kwL8uCUc4owd8SmOEmH3tV/uVJOdW1TlRi2+1YTTVESmAbsbnR2/aGkJCQ+5nQzJ/KY/KQxGZl0RoVjYRtiAi3PT4EvXrhx2wJnWoZ20N4cBr++AcMl82upXqug8jJl3JcHDNMGDFnZfwwI9f3KvGSsPjmQv4aF/k9Wg0ajDU77z/+8IFPf9wtYVitpfu7TD+oH7CRjB/Z8DXzqSieZHY6nIGuTwGvWpD9v2k0xE0BAvYD0XU+erDxJxInLBAlfey18TW3CB0WUORKc0ygub8edjR8PMSpfgSCE2NwLoBOM+rPBi4wyHYvV8Jf5ExgPF0EFZGuLGYKwLns8n0ltsvawJD9rHfJyg0ElEy4RaUeyvKzaNhUDgmhsqs8+Yneh88T+H6Q2ZMHoUcRUDZPD8PRTA/OOX+WdT9c+QnmRmFLA2i3I8+UgtMF9eICem53NyVhxAbaL/7/mv04iSQRbxr03WnLcOG/sG+RUkajUvxRmMp3X6ULfXco7pln45Ii2b4kQcZ8TA/WLLdGpKTsav26lrxnU/6vax6WtVnen5B1Vt52xh8TQB/+5soiBO77J1VoTb01/EpJzubqgnwHd+7WjqGnSZfkBFk3f4Xu4r96sgi7hc3pdvZoDVPkFtwrlAkc7onTlb4C7J2lVD87E1KXHWwQQBCvGJzx/sGupcqhPv8UqQZqTP8qiaCoCl/Us8Jd87oS/FYBt50N9YgiCKvUkFle7hqLvH+P3Nlnp0KS4qR1rfvD9TVDaC9E6iT5pm0U eIMVVKTS gd5GMMauBBEluozZ9EMTP9fF0tzyJU1R/J6i1q6FVn1KzSr/V3LbWdC7ciqFs+5a4w6fD6BGCFZKCN0zqBrn4dxeuhG8dc1d+Cyx4lfZp/EV34lwBulehhMgltHjFnHlwsL28x/SKdpXwuLv0Lozm13IR10Z3iIVi1B2CY83iOlkwuQAq4eq4w8yQWo4EPhpOrGrPIIJ9BNYAvgwDi6r+PX5bwK2iGnYPnRKMeG5HYFbv7VHL5D1tgu0DQgUrHmehHEEd2x5dDgV9x1WZPvIeDN37OdkCXJ+UeI8CopYYdb+GzhRjakwq5ycljU69kAtetRKw9fkI+AtsCkLBWyIb9LKOHtDxO99wRBPrD/2g3LpJ17Dq2gsuXVjQ7O9IssC1S57HqKHE/hsdkWM/iP5DsX6Uat5R6LiLeLBE7bTyrf6EGlylRnfe0C3srdlAy2nlDKpZnpEyyhCurOWzUQbSSZWDAeTbPBy7g8Qy9dUIwSwjCiAVIvRgpo3IfcWDRiRUvjkeZs+12og2+41qDuzId0eBnNfpy9LJ0uIq 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: In find_next_best_node(), we skipped memoryless nodes when building the zonelists of other normal nodes (N_NORMAL), but did not skip the memoryless node itself when building the zonelist. This will cause it to be traversed at runtime. For example, say we have node0 and node1, node0 is memoryless node, then the fall back order of node0 and node1 as follows: [ 0.153005] Fallback order for Node 0: 0 1 [ 0.153564] Fallback order for Node 1: 1 After this patch, we skip memoryless node0 entirely, then the fall back order of node0 and node1 as follows: [ 0.155236] Fallback order for Node 0: 1 [ 0.155806] Fallback order for Node 1: 1 So it becomes completely invisible, which will reduce runtime overhead. And in this way, we will not try to allocate pages from memoryless node0, then the panic mentioned in [1] will also be fixed. Even though this problem has been solved by dropping the NODE_MIN_SIZE constrain in x86 [2], it would be better to fix it in the core MM as well. [1]. https://lore.kernel.org/all/20230212110305.93670-1-zhengqi.arch@bytedance.com/ [2]. https://lore.kernel.org/all/20231017062215.171670-1-rppt@kernel.org/ Signed-off-by: Qi Zheng Acked-by: David Hildenbrand Acked-by: Ingo Molnar --- mm/page_alloc.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index ee392a324802..1f852929709f 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5052,8 +5052,11 @@ int find_next_best_node(int node, nodemask_t *used_node_mask) int min_val = INT_MAX; int best_node = NUMA_NO_NODE; - /* Use the local node if we haven't already */ - if (!node_isset(node, *used_node_mask)) { + /* + * Use the local node if we haven't already, but for memoryless local + * node, we should skip it and fall back to other nodes. + */ + if (!node_isset(node, *used_node_mask) && node_state(node, N_MEMORY)) { node_set(node, *used_node_mask); return node; } From patchwork Fri Oct 20 11:04:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qi Zheng X-Patchwork-Id: 13430596 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 1240DCDB474 for ; Fri, 20 Oct 2023 11:05:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8B6376B02C3; Fri, 20 Oct 2023 07:05:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8667F6B02C4; Fri, 20 Oct 2023 07:05:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 72FF56B02C5; Fri, 20 Oct 2023 07:05:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 6521F6B02C3 for ; Fri, 20 Oct 2023 07:05:26 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 121D880810 for ; Fri, 20 Oct 2023 11:05:26 +0000 (UTC) X-FDA: 81365558652.15.2C59E56 Received: from mail-oa1-f44.google.com (mail-oa1-f44.google.com [209.85.160.44]) by imf20.hostedemail.com (Postfix) with ESMTP id 43B981C0005 for ; Fri, 20 Oct 2023 11:05:24 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Jp9QUhgx; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf20.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.160.44 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1697799924; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=KvNzbx+wE6QPfE2MeeEi/ZV40Dr0N1fCnVWImcOfsdE=; b=UDdWBfTdmB9yku3wgNSfAG0nk/hG5Tuol8a92GCI79knegzkXCzeiuehQgl0TpjtRG5sW7 xSazHcwSdLJYWhIUDwdK/FPN9IT+hsmFnnUQkBlNSw61cEa12+QBMrWUs+AzWmBeE25jc6 cF0rsqu7ZDNyPgvkdnnz+rHhiTrJWhM= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Jp9QUhgx; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf20.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.160.44 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1697799924; a=rsa-sha256; cv=none; b=wqjt91bvdVhZspGiL3HmlYkkzzHHqz7sjXQv6qpdovhJWi1o7nn8oa0QyOqf0mBxJCNiF0 19KZ+id/kIZGkNNTPxq07Jxhuvr0kFnBHfbxc9xZxIImVIRATFGdeSGXkT59b0ipcW8fnT Dpj+zNKKAD3hKfLDArxaVy+u2dJ4+yw= Received: by mail-oa1-f44.google.com with SMTP id 586e51a60fabf-1e9c28f8193so191693fac.1 for ; Fri, 20 Oct 2023 04:05:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1697799923; x=1698404723; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KvNzbx+wE6QPfE2MeeEi/ZV40Dr0N1fCnVWImcOfsdE=; b=Jp9QUhgxldO64o4zq+6jytfA06fTF8FfpxKKzUzMANATjiAA1Rped26WFAJsVG2Tok m2slHupcTnoThR4P+bQHhCDrYODwvsg2btRbsrpkJAvGqTWGB0tAc91tkqgFQPIZjD7a IZ2kys/dnqLAnoAnA3IQfOxBz+adzIpWJepV8Y4QsBol95GzmLmtZC5PZUenaECLgR/n x/CR6MIkZaHeK5NVj1IRDXAaevIttgrPk3E8Ki6fOQJ0E8/QWbR/jxIQWh2ZmaN85oW4 3R5Temk+qs5JkXuEnpEL4XGMXmEJbs23cfU+++a0mKUFCO9dym5eFEvSh1NqLTsg3b93 eU5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697799923; x=1698404723; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KvNzbx+wE6QPfE2MeeEi/ZV40Dr0N1fCnVWImcOfsdE=; b=tLvD493Zp6WzKWC/CoIgGuHbo3psGzGuWr++duOo6gVIR2X2+KcILTdMKFvuZylcvO IStlBRHIEd1BSO2O3ygdePOIWmbRNRmL+zFkFYAijiygLarMeC89nEh0cyk020pIDndj OiQu9ysdrFQzT9dkO6JRkpAdoOcl4lP0o/NukHlG7aM/LeVjKJrkPmzTrd3LqZnWJrH9 zsXpAcujcqGl9wrPEVOLBXD2gdmt2+HHaYn611oij9iWvHxXWpjC2ukeLRtWodJxz5Zc GEZYKSXhciubdtEjnGs95O/O/9bQ0c0cZj947kMKxb2sHRIJ9dUTgmcLBgE8YdgXZD32 0A6Q== X-Gm-Message-State: AOJu0Yz6c8P9+/UCnPfqc8sKoisS48IkcnnpPvkv9xX3tqcY+kDE1ThR oOvqOyNp4hH9knmAJJaIWif8qg== X-Google-Smtp-Source: AGHT+IEZbrCU3UtQrs961bnYFojXLZPVOeYgp6UFfxmFOYWwqhfMWrAExdDU7Tw6uXfIF3bbdxeRGw== X-Received: by 2002:a05:6358:72a:b0:168:a3a4:6dc2 with SMTP id e42-20020a056358072a00b00168a3a46dc2mr1251379rwj.3.1697799923312; Fri, 20 Oct 2023 04:05:23 -0700 (PDT) Received: from C02DW0BEMD6R.bytedance.net ([203.208.167.147]) by smtp.gmail.com with ESMTPSA id z6-20020aa79f86000000b006be4bb0d2dcsm1323865pfr.149.2023.10.20.04.05.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Oct 2023 04:05:22 -0700 (PDT) From: Qi Zheng To: akpm@linux-foundation.org, rppt@kernel.org, david@redhat.com, vbabka@suse.cz, mhocko@suse.com Cc: willy@infradead.org, mgorman@techsingularity.net, mingo@kernel.org, aneesh.kumar@linux.ibm.com, ying.huang@intel.com, hannes@cmpxchg.org, osalvador@suse.de, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Qi Zheng Subject: [PATCH v4 2/2] mm: memory_hotplug: drop memoryless node from fallback lists Date: Fri, 20 Oct 2023 19:04:46 +0800 Message-Id: <63a3648aa6d49ad2dcf8c885d6a874e6c91624a0.1697799303.git.zhengqi.arch@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: References: MIME-Version: 1.0 X-Rspamd-Queue-Id: 43B981C0005 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: tsirjc6awomyy17w1o7dzpimc1z6qb87 X-HE-Tag: 1697799924-20530 X-HE-Meta: U2FsdGVkX1+xYgtkYfpb1/nHKW/K7aH7j1KtDl/CCqqQO7hyjD0g+zwFxf9BR7Jd+gqyZ7VjoH5p+d3YUzXoNoPeX3dYh/m5+FhsOJivc3D/bMJMWr78fc4RUII9zX3MyTglaD7nAEhPHkK7sja4P3dkKt2kxjUgRObr5f6I9ZukYZ63JDCS/P7k8rsSYUX7u4sUaNjrB1e8XCGjl7y3GjDS7rl1lcqcYYjlJdl/VgAuUrMIfWEIDtzE+Px9fcZhR8CaISP8cmUZdx0YltyDpZ2QMIWI/4FyCBF/IdrT2faLPUU/Kl8XY+75H8qnH/2mBVyIJLGWnxYRNUvHOHab9pUk9J+eHlVl+2s4iNf5RixnH6LS/Nf4vENGiT/iwDKBaf8asxdgkKZOBX8JpEGM1na8rRk5CrYyfPHrnnO8614UZpJsIAuOsMfzTv0Cv7maLGXj1c7MUTM5h2jlmKGCgcFC9GGt+S4ef/iwnBfRsaHgoSy3leE9mCziie3olwtWrv3fk/wBHPK0hwaYPhzmukAJinnDW09M+yC3izLmsK/GBVHEDryTsWQvH0P/V7afTTWdYTrl85kJBAjZ39/UJJVYnrFIubK83o8QqqbuVRidUUU0XgCL/GQ3WhL4s9VPbpONtUtBgba+vpkEYnaeQ9tt+oEBemOPSgxpwa3PlOuaEU65sZYIplvQoEVdrZ1mfudN3vGcAHEzKLwwZwDq00W6iHTHWS7gUiWOP9ILStmTqQWpD5VAGUztNLphx3D4XmQfNHG7vDqeoiLtk4Da5hfc0LjypcgGt4FOuvhWh8HFGDFD42282kXzTyajBxtBbJ1HV8WxaFYhBhKheMMpUi/3yr+EUuxPgMukWApxCj3ha0h///xDON32A60rtSnKbq2pyamD1CSGNG96nHgFob3/AccWFkY7wXXQAz28oUbirZI59NalpI5Olfs8D5HcDwKW24VwD+HeZLzbRTl LX61WtNW 43YPApMHdVPxKxCnCWGkDamoMFRNhUn70JyYVez1yMbbUBrkhXc+vtijOaP8z2pViWzkuEu5oDAB3vhD/Be6okJwI6E74V2xR1OWYC3AyJaVw2ZGsfLzCCLSlarNcJufOB67qUzBvq2LHpU6LtR6zPsswILp5BiP6JBnOFQ4pOnjyaRu+7EJGT9Zy8hX/8ZAaoxgkBEw/i7z1RpU+hR2Ms21RrzuI9amyhLXWQyI4sLcEkHQwCxfnJrZcY2Mi0dIRE7aUm/uuVZgVQijAar87U40w7Fj8yriFaETRP5a/ttjFDUuzB5I5+C6W0IaFJ8mD/n38CuViDYEyEMKz7ytmhnnQBjU0UZtH69UhvKi3YjHFwtpcq8G2ic7HeLyaUWeVszKjrb17bumECPvaqsaVLUuFg/4yv2d22JmUV/q3CmGNe2p1qSIiHWFu7OZqYUYFLBjdBO0fbCuUCSHRGToIpcIs4suxyeHYBpu7fbjR1ukdbtjMUEaEZVJ6bywUSjSLl0byDY+v7f+2J5sQFTbJZJecmssNnGAJ+E2r 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: In offline_pages(), if a node becomes memoryless, we will clear its N_MEMORY state by calling node_states_clear_node(). But we do this after rebuilding the zonelists by calling build_all_zonelists(), which will cause this memoryless node to still be in the fallback list of other nodes. This will incur some runtime overhead. To drop memoryless nodes from fallback lists in this case, just call node_states_clear_node() before calling build_all_zonelists(). Signed-off-by: Qi Zheng Acked-by: David Hildenbrand Acked-by: Ingo Molnar --- mm/memory_hotplug.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index d4a364fdaf8f..f019f7d6272c 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -2036,12 +2036,16 @@ int __ref offline_pages(unsigned long start_pfn, unsigned long nr_pages, /* reinitialise watermarks and update pcp limits */ init_per_zone_wmark_min(); + /* + * Make sure to mark the node as memory-less before rebuilding the zone + * list. Otherwise this node would still appear in the fallback lists. + */ + node_states_clear_node(node, &arg); if (!populated_zone(zone)) { zone_pcp_reset(zone); build_all_zonelists(NULL); } - node_states_clear_node(node, &arg); if (arg.status_change_nid >= 0) { kcompactd_stop(node); kswapd_stop(node);