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 9A64EC433F5 for ; Thu, 24 Feb 2022 15:41:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 154D18D0002; Thu, 24 Feb 2022 10:41:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 103178D0001; Thu, 24 Feb 2022 10:41:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F33848D0002; Thu, 24 Feb 2022 10:41:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0163.hostedemail.com [216.40.44.163]) by kanga.kvack.org (Postfix) with ESMTP id E0BEA8D0001 for ; Thu, 24 Feb 2022 10:41:46 -0500 (EST) Received: from smtpin25.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id A6F10181953FE for ; Thu, 24 Feb 2022 15:41:46 +0000 (UTC) X-FDA: 79178088612.25.7188A5C Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by imf14.hostedemail.com (Postfix) with ESMTP id 0284210000F for ; Thu, 24 Feb 2022 15:41:45 +0000 (UTC) Received: by mail-pj1-f47.google.com with SMTP id v5-20020a17090ac90500b001bc40b548f9so6063019pjt.0 for ; Thu, 24 Feb 2022 07:41:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=aglwyJuncdMb7TX3kliuiHLVhSIH5aYNnruwhD2Ltmc=; b=TROd7V022FpJERjl9bIAT1CByY618UmA0CCwtcpFre6Pzzsc3VcaJ1lo8VTGuKfzTG T8BQFm+jhcAyZ5K97lxfP+qAfDnmsR/p4sISJ60lKgw6UlQC4j8WFVGogvhODKFHvidh LQaLNxH2I8a7YK73eBimULBO49cy622Ag7Bt6VH0+50zsiZFeZB7PqI7B3bprdlKX/5D lh4zAvYyfK2jjSClqeoVeURwDqvKaB9jiRB3Lh7igMW8YMWZxGN182EfZynKe4SZX8he W510oDJzTJ7xTz8yfFOOt2+CI8sWq+8x8MNP0665vNGPH8kVwIz3B7iMkqEhpXw7O/X/ 63uw== 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=aglwyJuncdMb7TX3kliuiHLVhSIH5aYNnruwhD2Ltmc=; b=4Iat7DCP6xg/dnnNZNgO/QeVOGcf8VjePJ2IoLQ11Y27tizkNthL/BJfvjxSzOLS04 23niYdolW/Yg6eTwqDgydn+dwXggCzjjbLx6+Xtx8XQ/Mz0yFxQclzmoyNAfhOFN4Xpg V5BRkIvMXhy+G2bYs6lRn25OAUno3t4ppDZFiYVO2h/NlZqnyoBls6MpGz80ot00mZZ+ 3/QS6JwQrZc522/owgTDADZ9pbm1UX1KWsYI7OUzEYmkafuZkVSj/7KBqDYKasjjFRE8 gQrJFFlbY3u34EZQ02VNbGk3NTCUdwmQ49mtbij0BC3XjGOi+DwhiHnj6jwNO1LBsHW2 6oOg== X-Gm-Message-State: AOAM531sYx9Gg3NtMl38Y2nbrJ4luKHtS+C2algP7tIuwFJ897lLMr9a CzFGRjYFiFqiaSeWd5zK6asoRoMvUt8VQxf630p70w== X-Google-Smtp-Source: ABdhPJw0qCYj4wX044KlswblL6qaOV1khF2ln5o1BdyFM3xFURkaFxNC7iQzOv4gcEGB24YMZBQdmPh7RBoMgTlZe3I= X-Received: by 2002:a17:90b:1b46:b0:1b8:f0eb:e424 with SMTP id nv6-20020a17090b1b4600b001b8f0ebe424mr15144712pjb.185.1645717305102; Thu, 24 Feb 2022 07:41:45 -0800 (PST) MIME-Version: 1.0 References: <20220223194807.12070-1-joao.m.martins@oracle.com> <20220223194807.12070-6-joao.m.martins@oracle.com> In-Reply-To: <20220223194807.12070-6-joao.m.martins@oracle.com> From: Muchun Song Date: Thu, 24 Feb 2022 23:41:09 +0800 Message-ID: Subject: Re: [PATCH v6 5/5] mm/page_alloc: reuse tail struct pages for compound devmaps To: Joao Martins Cc: Linux Memory Management List , Dan Williams , Vishal Verma , Matthew Wilcox , Jason Gunthorpe , Jane Chu , Mike Kravetz , Andrew Morton , Jonathan Corbet , Christoph Hellwig , nvdimm@lists.linux.dev, Linux Doc Mailing List Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 0284210000F X-Stat-Signature: ah3q9ohzppei1ih97gm5fc5o84qufqgr Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=TROd7V02; dmarc=pass (policy=none) header.from=bytedance.com; spf=pass (imf14.hostedemail.com: domain of songmuchun@bytedance.com designates 209.85.216.47 as permitted sender) smtp.mailfrom=songmuchun@bytedance.com X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1645717305-194956 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 Thu, Feb 24, 2022 at 3:48 AM Joao Martins wrote: > > Currently memmap_init_zone_device() ends up initializing 32768 pages > when it only needs to initialize 128 given tail page reuse. That > number is worse with 1GB compound pages, 262144 instead of 128. Update > memmap_init_zone_device() to skip redundant initialization, detailed > below. > > When a pgmap @vmemmap_shift is set, all pages are mapped at a given > huge page alignment and use compound pages to describe them as opposed > to a struct per 4K. > > With @vmemmap_shift > 0 and when struct pages are stored in ram > (!altmap) most tail pages are reused. Consequently, the amount of > unique struct pages is a lot smaller that the total amount of struct s/that/than/g