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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3775DC433EF for ; Mon, 27 Sep 2021 19:05:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0FEEF60EB4 for ; Mon, 27 Sep 2021 19:05:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236028AbhI0THA (ORCPT ); Mon, 27 Sep 2021 15:07:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38310 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235880AbhI0TG4 (ORCPT ); Mon, 27 Sep 2021 15:06:56 -0400 Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 55DA2C061575 for ; Mon, 27 Sep 2021 12:05:18 -0700 (PDT) Received: by mail-lf1-x12c.google.com with SMTP id b20so82145560lfv.3 for ; Mon, 27 Sep 2021 12:05:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=njYGm4bP8jNmCvAFiZ06l8r+GHPtzvHRo47ySu3ATw4=; b=WpoF5VpG9djMUN3T0RVGAnKMGpUra/IoZu0YoYu2B7CPTwwNjgNcKC8FXNWXh0DJZH acFfw8Hzzhmqsm38B6oYPJzRykCp1dhW8V1tHhoR5FzMH5Sq3dPFJWChUqzPzWjhbDN5 bWCPIHRDbbzEqw0lQhknGBKzayIfJ3+riydfU= 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=njYGm4bP8jNmCvAFiZ06l8r+GHPtzvHRo47ySu3ATw4=; b=2X7gH/WJZwiZONKJwcEoitMFZRJjtNLLVC/jfDSY6ZD5z1qMDXborR/Ss/6151zggt 1Zhn+MUXNwm8MjuKUzKD08f/zZmozmtT9F81nTmIn56Egk3BUCYzWsKt+3caJKMYGrFO o6Gq+a8sGOtDbEk/Lp+47Nz/FILYKsYee/oHWJFB5/tKHXPTwRCMEKfy6LojvtofSMEk evTbvh65xrKVg3AO4Vb48vaCOHhsUnd4SSJqCI4P2qRhfcJoDq1axUTqa2s9Bn/INffq mFHJQ99ZWdvG8yN1aNYf7Im1mX7da4oHHbuJZ1BgO/HpU4Bo9uph1DXp7QMbdPmMGS1b mXKg== X-Gm-Message-State: AOAM530Sli/YdV1Wlm7rKkZHDgLN1aOvMi1bgR10NYjyKqIpa9U0TurW sTFrotUriJsrW2iQ06xqRfBReWSSUVDUVW75xB4= X-Google-Smtp-Source: ABdhPJy2nS3QQy6FcRAVyW35qN5AinsDclR/eUhUI3kRCSUheK8Qd9Q/AWNGBL91tljfc4kIWha64w== X-Received: by 2002:a05:651c:120f:: with SMTP id i15mr1420587lja.59.1632769516226; Mon, 27 Sep 2021 12:05:16 -0700 (PDT) Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com. [209.85.167.44]) by smtp.gmail.com with ESMTPSA id t17sm1671684lft.296.2021.09.27.12.05.13 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 27 Sep 2021 12:05:14 -0700 (PDT) Received: by mail-lf1-f44.google.com with SMTP id e15so82015006lfr.10 for ; Mon, 27 Sep 2021 12:05:13 -0700 (PDT) X-Received: by 2002:a05:651c:1250:: with SMTP id h16mr1576330ljh.68.1632769513513; Mon, 27 Sep 2021 12:05:13 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Linus Torvalds Date: Mon, 27 Sep 2021 12:04:57 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Struct page proposal To: Vlastimil Babka Cc: David Hildenbrand , Matthew Wilcox , Kent Overstreet , linux-fsdevel , Linux Kernel Mailing List , Linux-MM , Johannes Weiner , Andrew Morton , "Darrick J. Wong" , Christoph Hellwig , David Howells Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 27, 2021 at 11:53 AM Vlastimil Babka wrote: > > I was thinking of debug_pagealloc (unmaps free pages from direct map) but yeah, > the list is longer. In fact, the _original_ free page list was in the page itself, not in 'struct page'. The original reason to move it into 'struct page' ended up being performance, iirc. Because of how now the free page list was always in the same cache line set, the page allocator caused horrendous cache patterns on direct-mapped caches. Direct-mapped caches may thankfully be gone, and we have a lot of other things that end up having that property of "same offset within a page" just because of allocation patterns (task struct allocations being but one example), but it might still be something to try to avoid. Linus 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 130A4C433EF for ; Mon, 27 Sep 2021 19:05:19 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8799660F92 for ; Mon, 27 Sep 2021 19:05:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 8799660F92 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 21689900002; Mon, 27 Sep 2021 15:05:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C4A96B0072; Mon, 27 Sep 2021 15:05:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B4F8900002; Mon, 27 Sep 2021 15:05:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0168.hostedemail.com [216.40.44.168]) by kanga.kvack.org (Postfix) with ESMTP id EFCE16B0071 for ; Mon, 27 Sep 2021 15:05:17 -0400 (EDT) Received: from smtpin28.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 8C2AD8249980 for ; Mon, 27 Sep 2021 19:05:17 +0000 (UTC) X-FDA: 78634281474.28.3143255 Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) by imf23.hostedemail.com (Postfix) with ESMTP id 384FA90000A5 for ; Mon, 27 Sep 2021 19:05:17 +0000 (UTC) Received: by mail-lf1-f42.google.com with SMTP id z24so82766271lfu.13 for ; Mon, 27 Sep 2021 12:05:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=njYGm4bP8jNmCvAFiZ06l8r+GHPtzvHRo47ySu3ATw4=; b=WpoF5VpG9djMUN3T0RVGAnKMGpUra/IoZu0YoYu2B7CPTwwNjgNcKC8FXNWXh0DJZH acFfw8Hzzhmqsm38B6oYPJzRykCp1dhW8V1tHhoR5FzMH5Sq3dPFJWChUqzPzWjhbDN5 bWCPIHRDbbzEqw0lQhknGBKzayIfJ3+riydfU= 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=njYGm4bP8jNmCvAFiZ06l8r+GHPtzvHRo47ySu3ATw4=; b=w23g8Z+k1e6rbySjFOuRVyZ7E54sP+s5qAKzdFwiSQL2azgAb55Hqt5wb46egIIf0Z K9FWKVaw+Hd+JnehSm4k77GWc/aMoBxVKM4hoRRN6uy2WhF7k3kw2eCVzfaKFenVA66Q rOBNrQgvLx/stAB8l2tH5wKzoFwOQ8zgRv235DvlgnJlKa5zTEenNL9HNbWKgixI7gT+ eO3lDfgulE4+HqbT3aVsFqZIcIAL9WskSJzNbzgUESg96/ffbgrUTfsyoGIgse5rAVVX gzbYMWuTjNA/qtrHT6BfLkEstkgYjI+SGCDzz9Bgx6Hn0ZPbOXEYs7Y13RBw59duF2tb PzTQ== X-Gm-Message-State: AOAM531mQ6E3MsXrZnmalYgw0ONy5h+EwNMKq9TFdqBUbgEHWkbP2LXV f9Dql43YmyjVjTfkYjDvkVZklPWjiEkqR/zG6wg= X-Google-Smtp-Source: ABdhPJyx6NdQlCCBf36sZJzX46iF/IAxnx4A1UTVwfBU4xDZqzfW/77D0Pl/LIvxEUFSoOAlh64qpQ== X-Received: by 2002:a05:6512:3c9d:: with SMTP id h29mr1375720lfv.171.1632769515152; Mon, 27 Sep 2021 12:05:15 -0700 (PDT) Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com. [209.85.167.41]) by smtp.gmail.com with ESMTPSA id v24sm1684380lfo.269.2021.09.27.12.05.13 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 27 Sep 2021 12:05:13 -0700 (PDT) Received: by mail-lf1-f41.google.com with SMTP id y28so81414769lfb.0 for ; Mon, 27 Sep 2021 12:05:13 -0700 (PDT) X-Received: by 2002:a05:651c:1250:: with SMTP id h16mr1576330ljh.68.1632769513513; Mon, 27 Sep 2021 12:05:13 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Linus Torvalds Date: Mon, 27 Sep 2021 12:04:57 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Struct page proposal To: Vlastimil Babka Cc: David Hildenbrand , Matthew Wilcox , Kent Overstreet , linux-fsdevel , Linux Kernel Mailing List , Linux-MM , Johannes Weiner , Andrew Morton , "Darrick J. Wong" , Christoph Hellwig , David Howells Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 384FA90000A5 X-Stat-Signature: 45rk6jq7gyoiimij8ac8zix8bzja3pn8 Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=WpoF5VpG; spf=pass (imf23.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.167.42 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none X-Rspamd-Server: rspam06 X-HE-Tag: 1632769517-169421 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 Mon, Sep 27, 2021 at 11:53 AM Vlastimil Babka wrote: > > I was thinking of debug_pagealloc (unmaps free pages from direct map) but yeah, > the list is longer. In fact, the _original_ free page list was in the page itself, not in 'struct page'. The original reason to move it into 'struct page' ended up being performance, iirc. Because of how now the free page list was always in the same cache line set, the page allocator caused horrendous cache patterns on direct-mapped caches. Direct-mapped caches may thankfully be gone, and we have a lot of other things that end up having that property of "same offset within a page" just because of allocation patterns (task struct allocations being but one example), but it might still be something to try to avoid. Linus