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 6EE4CC4332F for ; Fri, 4 Nov 2022 20:41:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E8326B0071; Fri, 4 Nov 2022 16:41:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 099468E0002; Fri, 4 Nov 2022 16:41:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EA3FC8E0001; Fri, 4 Nov 2022 16:41:02 -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 DC8A06B0071 for ; Fri, 4 Nov 2022 16:41:02 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 17FDA120938 for ; Fri, 4 Nov 2022 20:41:00 +0000 (UTC) X-FDA: 80096929080.25.A9141A6 Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by imf23.hostedemail.com (Postfix) with ESMTP id B8441140002 for ; Fri, 4 Nov 2022 20:40:59 +0000 (UTC) Received: by mail-pj1-f54.google.com with SMTP id v4-20020a17090a088400b00212cb0ed97eso5490028pjc.5 for ; Fri, 04 Nov 2022 13:40:59 -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=f/Mzrdh822ICr7apu8JxzHNEOBsO25I9fYrSs9HSUig=; b=M/cVmBv5EUeUoHlgfUMn062PCK/nUCt7P5kcuK24V2c3qSGOkDGOoy2HaI3BCo38sl 8ZQ91fmCQyWPmu4Lfk74NSGZmHfPS/INBakCG6hKjaLBI0hVZL7sAWIMAl64nzJlm2Il 5e7SJcpdrh3KsfgxcXdxb8GgVfOiPxV4Yjc5PKCxixHsx+jDhJjf2oVzgvV90oSTxzf0 pWrAA8CVh6QI+fOU5YIUICzgwOURHv0yRCxnZayfd7ELVH7HkbC3gLtNGx8Bec/RIMs9 bsa6R77BbT62r9O+r70Zk6ZogFHxgZEupF3JAqWnJXz766AxEWlvaMXlkhHweEaXDQx+ 8olQ== 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=f/Mzrdh822ICr7apu8JxzHNEOBsO25I9fYrSs9HSUig=; b=DuZ3xzVlgETmAWyi303ArIMQIo892nczJm6Vxu+t60j/dWIwQHt6/Jr8D87AWFZ7Vd ol2SfuMQafPAohDL9W2FxH6vnKbFYy6xoanfftiP2aMSmM+QO7IWotbcPywKFH9ic5y2 O3jh+4gV6kZ3FVvNDI9kHLNuMQrdKqvYP19WZ6ZBw9rtpZZPxLad9vbJ3sR+240ybRJY koDtJ5Vkn0kqd7tE1NfyjFE3GUBLhsfdIsxNPBv+4fwU2HETnwkymMRRyU6ijQuDRW0m dmZJxidwrM74USXC5RqgW4D/xzk6oqHz6B+f+32cpJc4VjRhW6dTuemw2JFS/3EfvqiB h2uw== X-Gm-Message-State: ACrzQf0AvsIMaCrKxOY+gQd/zj6F9Bxm1xorKMj1eJelHrYsK2ELM1Fw 1q+jGBLuF4uc8giaNAXwr3je/T75m7F+uDyFd3v9VAeu X-Google-Smtp-Source: AMsMyM4GQd/lvcm+kS15IzTwdqa5kVDpo+qFV5baEq1ahq5KFiTh/C9iuTn2VUNwhFP7Psh8xBwAqpd7y5ZlUeQvWOA= X-Received: by 2002:a17:902:d512:b0:181:f1f4:fcb4 with SMTP id b18-20020a170902d51200b00181f1f4fcb4mr37749838plg.102.1667594458762; Fri, 04 Nov 2022 13:40:58 -0700 (PDT) MIME-Version: 1.0 References: <20221103213641.7296-1-shy828301@gmail.com> In-Reply-To: From: Yang Shi Date: Fri, 4 Nov 2022 13:40:46 -0700 Message-ID: Subject: Re: [v2 PATCH 1/2] mm: khugepaged: allow page allocation fallback to eligible nodes 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-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="M/cVmBv5"; spf=pass (imf23.hostedemail.com: domain of shy828301@gmail.com designates 209.85.216.54 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=1667594459; a=rsa-sha256; cv=none; b=QLms7QJOkjwDJx0BHVVIG71ySNVm+nz+mL/O7uG/wdM8v1Vn3lzf23Il3gy9m05lHAedQW 0W4RvJC0gZP2ltmhjhSNK5jucWgH0T6MDzCZNzAQfzCnNFFMxGkJ+Xf7GijovLPSF1Z9Xj MPjn9G/+5lns7BjC6C42Qyk0l1D17cU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1667594459; 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=f/Mzrdh822ICr7apu8JxzHNEOBsO25I9fYrSs9HSUig=; b=Yz2m6vTUIhj/MPL1fryAW2W5N3vmkUombVWGX8TbvW0zCGSjH0V8Q1EAQmpfms6RpIx7Gt 4231H0uVAJcrqJ63TXbVG4BpWiNUn5A+UvXQ0WQOIWiY/ffrd1mCgNbc9Jz+w2p7AFBemo pU5wrzSrwly66iK57nIXPThLRPFwD5k= X-Rspam-User: Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="M/cVmBv5"; spf=pass (imf23.hostedemail.com: domain of shy828301@gmail.com designates 209.85.216.54 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: B8441140002 X-Stat-Signature: 73yxhpt4neba8jhn67afajaphjsp8egf X-HE-Tag: 1667594459-573674 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000011, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Nov 4, 2022 at 12:55 PM Michal Hocko wrote: > > On Fri 04-11-22 10:37:39, Yang Shi wrote: > > On Fri, Nov 4, 2022 at 1:32 AM Michal Hocko wrote: > > > > > > On Thu 03-11-22 14:36:40, Yang Shi wrote: > > > [...] > > > > So use nodemask to record the nodes which have the same hit record, the > > > > hugepage allocation could fallback to those nodes. And remove > > > > __GFP_THISNODE since it does disallow fallback. And if nodemask is > > > > empty (no node is set), it means there is one single node has the most > > > > hist record, the nodemask approach actually behaves like __GFP_THISNODE. > > > > > > > > Reported-by: syzbot+0044b22d177870ee974f@syzkaller.appspotmail.com > > > > Suggested-by: Zach O'Keefe > > > > Suggested-by: Michal Hocko > > > > Signed-off-by: Yang Shi > > > > --- > > > > mm/khugepaged.c | 32 ++++++++++++++------------------ > > > > 1 file changed, 14 insertions(+), 18 deletions(-) > > > > > > > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > > > > index ea0d186bc9d4..572ce7dbf4b0 100644 > > > > --- a/mm/khugepaged.c > > > > +++ b/mm/khugepaged.c > > > > @@ -97,8 +97,8 @@ struct collapse_control { > > > > /* Num pages scanned per node */ > > > > u32 node_load[MAX_NUMNODES]; > > > > > > > > - /* Last target selected in hpage_collapse_find_target_node() */ > > > > - int last_target_node; > > > > + /* nodemask for allocation fallback */ > > > > + nodemask_t alloc_nmask; > > > > > > This will eat another 1k on the stack on most configurations > > > (NODE_SHIFT=10). Along with 4k of node_load this is quite a lot even > > > on shallow call chains like madvise resp. khugepaged. I would just > > > add a follow up patch which changes both node_load and alloc_nmask to > > > dynamically allocated objects. > > > > The collapse_control is allocated by kmalloc dynamically for > > MADV_COLLAPSE path, and defined as a global variable for khugepaged > > (khugepaged_collapse_control). So it is not on stack. > > Dang, I must have been blind because I _think_ I have seen it as a local > stack defined. Maybe I just implicitly put that to the same bucket as > othe $foo_control (e.g. scan_control, oom_control etc) which leave on the > stack usually. Sorry about the confusion. Sorry for the noise. It doesn't matter. It was not put on the stack due to its size when Zach was adding MADV_COLLAPSE. > > Acked-by: Michal Hocko Thanks. > -- > Michal Hocko > SUSE Labs