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 D2793C7EE23 for ; Thu, 2 Mar 2023 03:17:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5E27B6B0071; Wed, 1 Mar 2023 22:17:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5925E6B0073; Wed, 1 Mar 2023 22:17:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 45A156B0074; Wed, 1 Mar 2023 22:17:18 -0500 (EST) 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 342C96B0071 for ; Wed, 1 Mar 2023 22:17:18 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id F2946121021 for ; Thu, 2 Mar 2023 03:17:17 +0000 (UTC) X-FDA: 80522497314.14.2D5CF52 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by imf18.hostedemail.com (Postfix) with ESMTP id 348991C000B for ; Thu, 2 Mar 2023 03:17:16 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=gYWIOdvW; spf=pass (imf18.hostedemail.com: domain of rientjes@google.com designates 209.85.216.47 as permitted sender) smtp.mailfrom=rientjes@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677727036; 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=2UuwNiIULVdlTjH/QXIKxAjBwjiTn6gs7reREGjC+uY=; b=AkjaJXMXpQfll1cst25E2ugpf0yxc1eAOBjOVvSIH+Dzjdkd+PdfKb0MGBH6Md5m/UblVZ aVFVB70vbFMbk+kyyaPuwAHEQ/IgL1QPpC2tNUoekKNpK97xtKn/6Yi0UIz269ow4+iftQ E2P3MzfYfdbFSPoQknWKaM3gaI8U+oA= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=gYWIOdvW; spf=pass (imf18.hostedemail.com: domain of rientjes@google.com designates 209.85.216.47 as permitted sender) smtp.mailfrom=rientjes@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677727036; a=rsa-sha256; cv=none; b=yVBwlKn5TKbYFsKEzQZMWHEfzbEz5ZCSySI6SOjQvjfxb/ImWI0/vwTJ/kutSyYBkIuBCA j/omkk5Y6mbnITGwO1OXhIAxr2VHkAD2YLA6xPTV2T8QFQiNI0UxfiDF8XAEsMEp2Sh/va qzQgpCJ4lkpucPI9+pT9aG02LxaibAs= Received: by mail-pj1-f47.google.com with SMTP id q31-20020a17090a17a200b0023750b69614so1346943pja.5 for ; Wed, 01 Mar 2023 19:17:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=2UuwNiIULVdlTjH/QXIKxAjBwjiTn6gs7reREGjC+uY=; b=gYWIOdvWKDLkaxODmaIE7dIr1QixXJmeMC7rNoGekgeKf9iS4u1Q7Xx4YfhGTrkbZw NOVMfgd1VA0FAaH2xEZDAZVJpZJVlYu2KRh7wSP0KUSQJnnznFPdFFMHdMBl2ulskuuh 02+csEGd5VyrKuqSvMKsEHdM08xNw74SOYGclj2edU/lyumUyrPCImen7zuK9phRU/aL sMObElyT6YQRgQGCLQcQ9jyCiQBwxlp4yX2GTsGamaCUjHFEzDuk4FPMEZuUBsa8ORKQ Xl1Czo++gA1lrGq8td2Xgu0tfNs9IsKQI09xGNL1qiKeGID0pnSCZvvpXnkWccCxY2Nj 8b3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2UuwNiIULVdlTjH/QXIKxAjBwjiTn6gs7reREGjC+uY=; b=2ikJ5/B9VF0kx71CApPrFwOfRbitl8bH8g+rSbOy1LW2wiYt2MVEWm1dTEp47rHNZa v2kSWQ7QuH7laK/DtRYYGgwukvf5wRKEJXzR2gp9G5dXwUk8kDN/eYA3GFiagHT4p9U4 hJImqs7ztUo1J/tzF2ZCDCr6cHF0mf3Wfsu60RcUUdKYt16U+J4sdH0hGXhVgmjys1wq b6Cl4OJWzDdNUT2yTjdAjTg9CEF9ucL6K6ZL/xfaGbwy6DiUUlisgMeHgg8hLYH7SIxj gKPUFpYNwbWCqtBfrPrb9AUgJ2EiYLeyaKbBgnqQxvdUL5iXkszyo5009xv4x7xy9RL0 A2jQ== X-Gm-Message-State: AO0yUKXDJnF0tba5Hy6uTyA0epug2vhDuiT1jKStgZqpLsHZLgkOl4yF Zdp7Jo0LSsqfwTeco6tFalez9g== X-Google-Smtp-Source: AK7set9D7ipY/0SmxAsTtsROL+QxBusuFZ0I9xJ1TBi2lMvOgTicOaOQ94eDPBK/WLMENx8ZozpeGg== X-Received: by 2002:a17:903:42c6:b0:19a:6cd2:a658 with SMTP id jy6-20020a17090342c600b0019a6cd2a658mr16658plb.7.1677727034772; Wed, 01 Mar 2023 19:17:14 -0800 (PST) Received: from [2620:15c:29:203:5530:853:8d92:ba58] ([2620:15c:29:203:5530:853:8d92:ba58]) by smtp.gmail.com with ESMTPSA id v10-20020a62ac0a000000b005810a54fdefsm8584795pfe.114.2023.03.01.19.17.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Mar 2023 19:17:13 -0800 (PST) Date: Wed, 1 Mar 2023 19:17:13 -0800 (PST) From: David Rientjes To: Matthew Wilcox , Pasha Tatashin cc: Gao Xiang , lsf-pc@lists.linux-foundation.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-block@vger.kernel.org, linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org, linux-nvme@lists.infradead.org, bpf@vger.kernel.org Subject: Re: [LSF/MM/BPF TOPIC] State Of The Page In-Reply-To: Message-ID: References: <8448beac-a119-330d-a2af-fc3531bdb930@linux.alibaba.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 348991C000B X-Rspam-User: X-Stat-Signature: 9gf5sowcusoir5yubtc4asek7ioasrfq X-HE-Tag: 1677727036-185760 X-HE-Meta: U2FsdGVkX18y5IwztiA7Hj3cc/KMXyYI2Zf9qZAnsSSWqc2AEHcbxtQafpnMhGUn5b6g2Sp5JjuGVqEC+phESy0/A98R4tMV4VGYehdvwE9EDwe7Y+DrGwEzqSPyDXBPp7Gq1fecfGn3eGQt1He2624uT8O3wIeJ/kfxILeQ31hdDnew9xhleIO4PnyGnG5jVxSmRjpeeyTUnglVcK3JKTivOAhF2cERi2DPzbKkGVzYiLzXTaquL6jvL9AC9B7ppe66Ts8U5yaG1/+Ux/pcdGtBXBMsihi62vQhmVTC5TcrcYwq7MGuTB6hi6V6zriol+vA+Lm8l5la7H7Ay1hVZnGQGywKiaUVAuXptbgaeSIGEpPnD18/7zLS8vYIFStiYXFbXAAX6O/Wio6cGuTIyUQKQ2gEPad2fbOH35P1+uygSTYu+a0fPfpaA2pJdRi1GFQf2VyODisCWZGhWnvmTDnEVvq0Io0yWEHnVLLoKMBbH0THAgvk2YC64JaEpnH1godNp+RN/UnpBBcVr/vnAccA/MU2BTrUk/uevBLjqcSJy3cNj0m+1W8Jy11lLN+CaHnQYfgYJwiPrYp57B4dQnLjpGZboUtsU7VYuFVhlltPvKKCsnz2QY4z9BgwwCO/cZGJjUGeRLc/xnVjmNP6nDDAoxCttEQJbmgGr7jU2cxBUwqEANLre49xanzr5Gx7Nx6z8FaeuCpofr4C6ynzxgp5cbQIMx4iBU7SxKWj/cjAS+PlQJyiwyXmONkZlX6l77Wih6HEEM3nHG81HgRa96zlbPCb5mrEUijnb8Tb2yYpk3Gn30UcIYH/2ZgH53c6b2y2wpiO13Ych6qR3uQbhkBQwEEBXJPjIDMxbgUXrLa578YOg9b8USIk8a9UHBlfC6p7+tdUFiZIVjMnbrzdCmQu/f3JO8ve8G7fl9CqoiVrX//qG3sSiijaBkixzQC3xs1Ag8Y5NXxRf2nXAp6 5o3DgHZT VApt4gwWD1jwljaqh0HdZyEbnHgudoroidjsIprRfqwI3c9piz/lCWu2Zy+FlJYKJQrbCwALr8mR+KxANhQxNNkhJULcr5LU5VFSrbc2azwn3weSZvpvz4FvMs7qHhEwQZ9RJDzv9aIBse9gtC+QPE6FzIMZyiAscieDUifU5ibnqn7Rv2M9Azd3fyhUnBv2msZ5I/eF9V/588yJvgZFIw4OcEy6VS5eQ1GOaBaxBHrJXMVyTx7wxKTCMOFTBWQPHaG4ijqhhHThgzIz0jFBq8hGPZahT+jDCDTyuzMxqDoo/+ZNmNJ1kgPOiyGvjC4pP5Vy7IB0bHzqJ6ZGNW6z+dPDoC9m0mds1DDqK1js4ZrNjgOw= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000738, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, 21 Feb 2023, Matthew Wilcox wrote: > On Wed, Feb 22, 2023 at 02:08:28AM +0800, Gao Xiang wrote: > > On 2023/1/27 00:40, Matthew Wilcox wrote: > > > I'd like to do another session on how the struct page dismemberment > > > is going and what remains to be done. Given how widely struct page is > > > used, I think there will be interest from more than just MM, so I'd > > > suggest a plenary session. > > > > I'm interested in this topic too, also I'd like to get some idea of the > > future of the page dismemberment timeline so that I can have time to keep > > the pace with it since some embedded use cases like Android are > > memory-sensitive all the time. > > As you all know, I'm absolutely amazing at project management & planning > and can tell you to the day when a feature will be ready ;-) > > My goal for 2023 is to get to a point where we (a) have struct page > reduced to: > > struct page { > unsigned long flags; > struct list_head lru; > struct address_space *mapping; > pgoff_t index; > unsigned long private; > atomic_t _mapcount; > atomic_t _refcount; > unsigned long memcg_data; > #ifdef LAST_CPUPID_NOT_IN_PAGE_FLAGS > int _last_cpupid; > #endif > }; > > and (b) can build an allnoconfig kernel with: > > struct page { > unsigned long flags; > unsigned long padding[5]; > atomic_t _mapcount; > atomic_t _refcount; > unsigned long padding2; > #ifdef LAST_CPUPID_NOT_IN_PAGE_FLAGS > int _last_cpupid; > #endif > }; > This is exciting to see and I'd definitely like to participate in the discussion. Reducing struct page overhead is an important investment area for large hyperscalers from an efficiency standpoint, we strand a massive amount of memory due to struct page today. I'd be particularly interested in a division-of-work discussion so that we can help to bridge any gaps that exist in realizing Matthew's vision, both short term and long term.