From patchwork Sun Jan 23 01:35:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Yang X-Patchwork-Id: 12720872 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 1E246C433F5 for ; Sun, 23 Jan 2022 01:36:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1683A6B0081; Sat, 22 Jan 2022 20:36:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 117006B0083; Sat, 22 Jan 2022 20:36:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EF9046B0085; Sat, 22 Jan 2022 20:36:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0188.hostedemail.com [216.40.44.188]) by kanga.kvack.org (Postfix) with ESMTP id DCA146B0081 for ; Sat, 22 Jan 2022 20:36:25 -0500 (EST) Received: from smtpin13.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 8BB8F8EC09 for ; Sun, 23 Jan 2022 01:36:25 +0000 (UTC) X-FDA: 79059836730.13.536B70E Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by imf13.hostedemail.com (Postfix) with ESMTP id 0C37720015 for ; Sun, 23 Jan 2022 01:36:24 +0000 (UTC) Received: by mail-ej1-f52.google.com with SMTP id p15so11127516ejc.7 for ; Sat, 22 Jan 2022 17:36:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id; bh=/ZCgQgGKKxuFU4Nc2E9u25znTcXk1hn09RecLC7scws=; b=MbXHNMzBMwEcYBM/4/gKidZaeov8wZYdIOiTKGjTbE7GetmOeRwTtSRbfO4L5gGGnG WAhXxcYLqcOeYD282LT2Lg1FcACo0KLKn1hJfHWZv2C+45+XVwIGDb7D5SQMsufPndoW IvXaXC9l0/ToipdlnW1mZt/zIoxcLIjkPiBfhiA41UpXSQ5Q7iphVv7gBdTqfYr1UYWp 9vqGe46zcjHvQcckxt1uh4ckBG5MhoRrfLj5cTr1njwyjVlbSA/GFkjr8wDF4lme0s2E bNkV5cePl+used01vP1knIOmsrZW3trvxlTlwQs6QeHtWd6udgaHeuP1YORc55BdlODx +Xbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=/ZCgQgGKKxuFU4Nc2E9u25znTcXk1hn09RecLC7scws=; b=YRPpZm68rDJ/7oC8kswsBkMETDrcR0uUNNKj8sQJI2tDSrizdb6WZ+ygTUGvQ7yEJZ yzECwVECgEl2O5sVq2LND9HdBjYfwBA5/tsP0fRgxEH1YkAiMiZGRMmxVLuRgiS1QJqy M/EWe6swIfVn20LAnRmbuXlRtoEXcfQc47T7jw6QZqWibf83Vk557sdVDhaMylrlS9qI 6BGAdGIOx8ZYspILe6BD4y6GNcEjxbt5UgHGN8cCB2hmVtUu03REE+1fhMVh74JB10X/ pGIKri4h2/gQk37VVsSGSlQ2bRddrNMfXSA+TwOanbgcx3w23vZ09PJW2bkN4ueGmb4v G45g== X-Gm-Message-State: AOAM530b3xlbwYohETR53xzJEMpBVLdyKNYHRsQa2NVbk8qHbcRm5pcg CNM9Y+JRVrYilZ+APrsTwXc= X-Google-Smtp-Source: ABdhPJx2zCmZxPhYnCzWe2/KXiYIUAMMgFsYOJmgWiZuJK28PutRvLH/dqrYEef7uxR0V+KSOWjyOA== X-Received: by 2002:a17:906:2f0c:: with SMTP id v12mr8245070eji.761.1642901783557; Sat, 22 Jan 2022 17:36:23 -0800 (PST) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id k23sm3336247ejr.65.2022.01.22.17.36.22 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 22 Jan 2022 17:36:23 -0800 (PST) From: Wei Yang To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Wei Yang Subject: [PATCH 1/2] mm/page_alloc: add same penalty is enough to get round-robin order Date: Sun, 23 Jan 2022 01:35:36 +0000 Message-Id: <20220123013537.20491-1-richard.weiyang@gmail.com> X-Mailer: git-send-email 2.11.0 X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 0C37720015 X-Stat-Signature: 9fbcu9tcxyk9z4nbog51why9ex9wqhko Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=MbXHNMzB; spf=pass (imf13.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.52 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspam-User: nil X-HE-Tag: 1642901784-192538 X-Bogosity: Ham, tests=bogofilter, spamicity=0.002064, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: To make node order in round-robin in the same distance group, we add a penalty to the first node we got in each round. To get a round-robin order in the same distance group, we don't need to decrease the penalty since: * find_next_best_node() always iterates node in the same order * distance matters more then penalty in find_next_best_node() * in nodes with the same distance, the first one would be picked up So it is fine to increase same penalty when we get the first node in the same distance group. Signed-off-by: Wei Yang --- mm/page_alloc.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index c5952749ad40..f27afd517652 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -6245,13 +6245,12 @@ static void build_thisnode_zonelists(pg_data_t *pgdat) static void build_zonelists(pg_data_t *pgdat) { static int node_order[MAX_NUMNODES]; - int node, load, nr_nodes = 0; + int node, nr_nodes = 0; nodemask_t used_mask = NODE_MASK_NONE; int local_node, prev_node; /* NUMA-aware ordering of nodes */ local_node = pgdat->node_id; - load = nr_online_nodes; prev_node = local_node; memset(node_order, 0, sizeof(node_order)); @@ -6263,11 +6262,10 @@ static void build_zonelists(pg_data_t *pgdat) */ if (node_distance(local_node, node) != node_distance(local_node, prev_node)) - node_load[node] += load; + node_load[node] += nr_online_nodes; node_order[nr_nodes++] = node; prev_node = node; - load--; } build_zonelists_in_node_order(pgdat, node_order, nr_nodes);