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 85537C46467 for ; Sun, 15 Jan 2023 22:47:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 774B56B0071; Sun, 15 Jan 2023 17:47:34 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7247C6B0072; Sun, 15 Jan 2023 17:47:34 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5ECBC6B0073; Sun, 15 Jan 2023 17:47:34 -0500 (EST) 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 500F46B0071 for ; Sun, 15 Jan 2023 17:47:34 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 8CB1F1405B0 for ; Sun, 15 Jan 2023 22:47:33 +0000 (UTC) X-FDA: 80358521586.18.68B9197 Received: from mail-vs1-f46.google.com (mail-vs1-f46.google.com [209.85.217.46]) by imf18.hostedemail.com (Postfix) with ESMTP id EB4741C0002 for ; Sun, 15 Jan 2023 22:47:31 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=L8op4Oh3; spf=pass (imf18.hostedemail.com: domain of yuzhao@google.com designates 209.85.217.46 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673822852; a=rsa-sha256; cv=none; b=SLSiWph3ZgMD6OFBEZKXJ8Ua6SdkWt79zF1vpnEyxOdpLvVEUbr+gOgZOOrH1fmX/qFwgA owmpjz2/Do1vps3jrI77sMGHcImc/V2ZXsu+nvXJEqzs72Bk2Srye0kwUh4uVRK/19CJrt H3oUBdTacr+kA7PDK+PdtqY8T2p7Xxo= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=L8op4Oh3; spf=pass (imf18.hostedemail.com: domain of yuzhao@google.com designates 209.85.217.46 as permitted sender) smtp.mailfrom=yuzhao@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=1673822852; 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=g9a9lt8imHWrU+aXyiCvzH9wJ7qwkvw7ijcrlz3p08E=; b=ui739p+AOi9yn0IMTG6dnBj0a7FHPC5Z/4E8aCC4OGVtk+QBW7b9tWFgx5NZ0mdSmHDHwd 761k7Wha5GUkD0PGMie7hPi2kQS3vPeG8utalbfeZXznPhFbRuOQ4T2WE60P1x1EfThJJR yT2FGQ8w6oB1wOu9fDIHILuvNBlwluI= Received: by mail-vs1-f46.google.com with SMTP id i185so27464976vsc.6 for ; Sun, 15 Jan 2023 14:47:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.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=g9a9lt8imHWrU+aXyiCvzH9wJ7qwkvw7ijcrlz3p08E=; b=L8op4Oh3wmW7ZO1rKWQ+9oiUo2ArZN5aVXCeZ+J1MeT0cUpNaG8QshC1aYRCHaJJNV kF1lJOk0q5CzNuoTHP0QGJfrmiDH4t6lc5xbcCpOvc2WsCSTcZ87zXjgT2MRhPPY1Isl G2js3JIo5HBwSU0gCfyjjZHO0tThNK/l2pk63ggbL24wvyd/yHiYVTuCrm/y12atEbrA f3rISqiZ0oQadioZZXRn2NeS7P+frMkBiojt8iOoJl5ba6X3rUD2smXK1kDYSl5vsZ4u tB7AE7YKt/xWQUXi/eqGJ5raiyQzPPAwwij1Be/g4uRVClbzg8J/b8ehfWW0TBlFo0e+ /Mrw== 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=g9a9lt8imHWrU+aXyiCvzH9wJ7qwkvw7ijcrlz3p08E=; b=u35RrP8ILsWmNddSviXnGftEZximapjHLRRVAuTR/BBhemiY75HNcwC0hRKQ+4PxIM Iyf6/e9zh42bauLVYfoeAMSGzBqLPDdyV9iRSf/2FO1V3oiHfEe82OxdG9hMWoZmzWsW 3iLhXd0dmDy3bKp1pE9s30DhFXpK3EvluP/gsUnCFPezGBhVrJkgbDp9L7oceOmhG75w eBrYMoRNmDwqyBP10l8wgOwybmHdX6oZQPARuDu8g9359EKZ0cFGLfAEWPkRBfTH6vsc tfSPgRLzb6zm9rJJHwGDNvzc3ELLKTn/2ED+bcg+/X1kgTV0FOmWM+YvQn3c1MBU+Szs JbsQ== X-Gm-Message-State: AFqh2kqD/QfOBBrivPvPDcH5kIAohZz8oX4k6G9wJFAKk29juSlSzJ84 DZTXWqXVFrZ+wCqnCS7Mue3OUJhLXWy+cV3K1S06Kg== X-Google-Smtp-Source: AMrXdXs9tpPi/AiQ6QDHqwZXQfSgKKuD571+YoEAfOfDUgjKp3YXxjxdt0+d3eXQA6dJXIBaxWnX23laTjOzSZoO8aQ= X-Received: by 2002:a05:6102:40b:b0:3d3:db6b:e761 with SMTP id d11-20020a056102040b00b003d3db6be761mr79727vsq.46.1673822851026; Sun, 15 Jan 2023 14:47:31 -0800 (PST) MIME-Version: 1.0 References: <20230115125721.3553-1-tjytimi@163.com> In-Reply-To: <20230115125721.3553-1-tjytimi@163.com> From: Yu Zhao Date: Sun, 15 Jan 2023 15:46:54 -0700 Message-ID: Subject: Re: [PATCH v1] mm: multi-gen LRU: reduce repeated scans in rmap To: Jinyu Tang Cc: yuanchu@google.com, akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, falcon@tinylab.org, ttjjyystupid@163.com Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Queue-Id: EB4741C0002 X-Rspamd-Server: rspam01 X-Stat-Signature: 9887gaaocth4yojopa7akjfd3frjpqwq X-HE-Tag: 1673822851-582927 X-HE-Meta: U2FsdGVkX189wcS0LmdFcjrQtI+bNZ7F6KhthFFUxYRTpCKWa6KMFXRV3sTHl7QtVlDzsGQf/IvDkP8gqFIPzimB8gCNIii3Ix7Xxi/fRE/uXDle+c3iWuBDq+cBY1hpKZsjchRVXrw2sHuuuSrtWq06yVwioWF8GEMPzloErfONO5eWsPH7CmM824w/qdIFTlPbzhSs4pvNE5CdtHWRwn8JSbSAHUls8CxHXtN+WrEnHTozhPAKRGY2hiHz3tldzV4UsuldDDSicywioehMTZfsm6pM/XGiFOx/0xseL9dEMJNGPgtlW04q1Wt+8pRmlPyy6Jxg+a6cKsSPFyeFAQV4MCTEplGCqcPpHH9dc+kSHn+LbEQG2bVAeILN89WjBm6ietUwbcXXZ8o0Wo3bYmwu4Ibqs6D6ShLyzc7E/O8p9jwU7K8uZQHXhtIILHes6Bgd9pTYcFDojkJpT647Bz3fKSVLv/tKUggA6epU5RuzL5cDFeYOfxYSOpfRDaMkxFIwFaI3q+FMqkvTmpTs51muzjQdx+KlfFWRjZ99ud9tAT5p/M7O+pZuUGfTzRbOzMg9xMkUNoW1dyB2JAzCgiu2NmAsp+INeQN7L9DZ18egG2sqJjPypHBN6zCqormV9V7CniO2Ggrvyg8mdIkjT8ctchOptsvr/MK1Pbfa6Bv5DjR4T/OWO2JOU6dbtMrk0vl6lqW6FiXWft64WmvoXLXm/LIhvEdKJmUqDfdrH6YBEjBktITNISDsA+xpuidNup0cgcMIQibDaj1lMP/Gc//l4wRA0zpGDvpln6RzJ0ijtzu/sdFzmFUk37d1ItRgE1FfILQpk6847vr4BYWOrvO4jbuLsbZ843iSL06NSdRtWsmAIsa2/tSOWBDvwO+Zhl74WvF0YjsT9LnDxAE2oSRHATLm97YfdRoCxyAImBFxgvJifwQ+ZCW8ooiu5Oo5JWV7WRXeeLuCJ+Q0zTP d1oDLdUn iZouUZFabq8INwxrMT2pyzK0yTIRePuGxKva+KJjd1zBmV2IZkBI5cf6W8Q== X-Bogosity: Ham, tests=bogofilter, spamicity=0.003238, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sun, Jan 15, 2023 at 5:57 AM Jinyu Tang wrote: > > The folio is physically and virtually contiguous. If a folio have > more than one pages, lru_gen_look_around() will run several times in > the while loop in folio_referenced_one(), but most of times is > unnecessary. Because these pages always belong to the same pmd and > vma, lru_gen_look_around() will scan the same range. Thanks -- the commit message is quite clear, so I think I understand what you're thinking. Let me clarify: 1. First of all, there are no repeated scans, because after lru_gen_look_around() clears the A-bit in a range, the pte_young() test stops it from going into the same range again. 2. Of course, pte_young() can become true later, but this is not a problem because it's cache hot. 3. Physically and virtually contiguous mapping existed before folios: a THP can be mapped by 512 PTEs. > while (page_vma_mapped_walk(&pvmw)) { > address = pvmw.address; > @@ -825,7 +826,13 @@ static bool folio_referenced_one(struct folio *folio, > if (pvmw.pte) { > if (lru_gen_enabled() && pte_young(*pvmw.pte) && > !(vma->vm_flags & (VM_SEQ_READ | VM_RAND_READ))) { > - lru_gen_look_around(&pvmw); > + unsigned long pmd_now = pvmw.address & PMD_MASK; > + unsigned long pmd_former = former_address & PMD_MASK; > + > + if ((!former_address) || (pmd_now != pmd_former)) { > + lru_gen_look_around(&pvmw); > + former_address = pvmw.address; > + } > referenced++; > }