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 9BE9EC43334 for ; Wed, 20 Jul 2022 17:26:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 216156B0071; Wed, 20 Jul 2022 13:26:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C56A6B0073; Wed, 20 Jul 2022 13:26:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 08DBC6B0074; Wed, 20 Jul 2022 13:26:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id EE81D6B0071 for ; Wed, 20 Jul 2022 13:26:50 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id AD56E16062E for ; Wed, 20 Jul 2022 17:26:50 +0000 (UTC) X-FDA: 79708158180.17.0F48114 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by imf11.hostedemail.com (Postfix) with ESMTP id 3FFEF400AD for ; Wed, 20 Jul 2022 17:26:50 +0000 (UTC) Received: by mail-pj1-f50.google.com with SMTP id s18-20020a17090aa11200b001f1e9e2438cso2738453pjp.2 for ; Wed, 20 Jul 2022 10:26:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fGN2An/PN5OYqZS5SikvGvqXkuqCdA1GnkvCvSD6UL8=; b=GGcdSgHkUZvaQfC4qXuMXFc6qVsmx3OU5bavS72K+aOw5EcS/UUT5jonhb351zo36e E8yCfIJek/ofTkWDG2RoQxP7KVGzQKkH16o+ZFA4yp001lZ633NZZIaweNOyNrOUvCcE elU9mY7KEmuuKWqaA3nLk0hy77BtVjOAnD2KDwNaPwfk3zzrS+NnEPnT6DIH4gnqGE/j i7ZZQt/0aRR+70sv5oVJbNXRAOacdg+FicB61OyF0pXblyw+UiWcBazEzlvjMSUo7udp CF02gAyZzfxhvBlAsbQF0nF3WXMIQFFygppnxV4Oseo3LMG1bf649REINwzhzqeEZNiH 4Nqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=fGN2An/PN5OYqZS5SikvGvqXkuqCdA1GnkvCvSD6UL8=; b=q0alb6ygiJd0i0X9nJzixttdMhiD/hCFW/3yu4kBzbeYFh4ogwUrNdXeBpBx2RmYU2 momq5HeUJtrz+xCuUz5/2Q3TkshPE1GFAQPP4Ij8moMhWkENyk2IrwxhhWmkZVFkybgq KdD5PPB0V+5m6GNYhcQ/XsIIWhNxCLlA18YIw5LtPoQSrAXTc6t+A5i4mKMwx0lS+mLm o4NY18C6ljxuMl5dDMS1qh8ORTEwZgSb3EMW06Dpyibpoz/y7TZmhRR06snro/tQQhc7 7iKY6MSiQ8Ix2RXD2N0/uzwW7ehvNtLsiuTsoLW+RE8zoLZIfIF/HfYw6THmclINlJ49 nROA== X-Gm-Message-State: AJIora98Q8Yoozjj5t9FrKaAJXw+D6NyphgILUvljK6fWRZantwcAl4N ggvEOnLontW7tW/w6D17fZ/Mi3mxqx9KWq5vsxk= X-Google-Smtp-Source: AGRyM1svMWnuEp16KtL4QsRtF84TGW66K3n4MLMVW2TgAoH5RbeVpzpKwqynTSAS1fTaVov46Cmhr90R8B3kBdvXJpo= X-Received: by 2002:a17:902:9005:b0:16c:f62c:4376 with SMTP id a5-20020a170902900500b0016cf62c4376mr15255042plp.87.1658338009197; Wed, 20 Jul 2022 10:26:49 -0700 (PDT) MIME-Version: 1.0 References: <20220720140603.1958773-1-zokeefe@google.com> <20220720140603.1958773-2-zokeefe@google.com> In-Reply-To: <20220720140603.1958773-2-zokeefe@google.com> From: Yang Shi Date: Wed, 20 Jul 2022 10:26:36 -0700 Message-ID: Subject: Re: [PATCH mm-unstable 1/4] mm/khugepaged: Use minimal bits to store num page < HPAGE_PMD_NR To: "Zach O'Keefe" Cc: Andrew Morton , Linux MM , Hugh Dickins , Miaohe Lin Content-Type: text/plain; charset="UTF-8" ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=GGcdSgHk; spf=pass (imf11.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-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658338010; 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=fGN2An/PN5OYqZS5SikvGvqXkuqCdA1GnkvCvSD6UL8=; b=fnM9U0xg8IIKhHt51EwyacOkxSvI7HiFM4MCYAMxXCm52mVdUkXs0L/c5pD5uadoTXdSMz n16UT6Sikk4YIm+UbcFc1Bplav3unUJkKdHKemM1d/LEtPJHGKIVpaa7hG6i95ZtK/5UXN ug10Z7y5Vl3ELFujKyHFKW0QUGyEQXs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1658338010; a=rsa-sha256; cv=none; b=6JIV67ltLWXm8XX/oV8fokbZoSX/5ViG1t/xST6sgsmmmz8p7Zd7T9ACNYZ5vA4hoTqrvU OtVljgEx0V7fEt3CBmrLtL5AErZ7ZNWYnYGteO8RbB3G6wCZHPOeyn4/vItuBbBg2Z5KCU QqpOzlJts2cLL1aL3socWMYAMa//0pM= X-Rspam-User: X-Rspamd-Queue-Id: 3FFEF400AD Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=GGcdSgHk; spf=pass (imf11.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-Stat-Signature: 6hzhz8i4a8ybyzfz6na3mps3977pxc65 X-Rspamd-Server: rspam07 X-HE-Tag: 1658338010-473495 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 Wed, Jul 20, 2022 at 7:06 AM Zach O'Keefe wrote: > > Minimally, node_load[] entries just need to be able to hold the maximum > value of HPAGE_PMD_NR, which is compile-time defined per-arch based on > PMD_SHIFT and PAGE_SHIFT. node_load[] is only written either via memset(), > or with via post-increment. struct collapse_control may be allocated > via kmalloc() in other collapse contexts, and MAX_NUMNODES may be > arbitrarily large. #define the underlying type of node_load[] based off > HPAGE_PMD_NR to avoid excessive memory allocated for this struct. > > Fixes: 3b07f3bb225a ("mm/khugepaged: add struct collapse_control") > Link: https://lore.kernel.org/linux-mm/Ys2CeIm%2FQmQwWh9a@google.com/ > Signed-off-by: Zach O'Keefe Reviewed-by: Yang Shi > --- > mm/khugepaged.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index 69990dacde14..ecd28bfeab60 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -92,8 +92,11 @@ struct collapse_control { > bool is_khugepaged; > > /* Num pages scanned per node */ > - int node_load[MAX_NUMNODES]; > - > +#if HPAGE_PMD_ORDER < 16 > + u16 node_load[MAX_NUMNODES]; > +#else > + u32 node_load[MAX_NUMNODES]; > +#endif > /* Last target selected in hpage_collapse_find_target_node() */ > int last_target_node; > }; > -- > 2.37.0.170.g444d1eabd0-goog >