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 22872C25B78 for ; Tue, 4 Jun 2024 10:31:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 80EBF8D0001; Tue, 4 Jun 2024 06:31:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7BEF76B00B4; Tue, 4 Jun 2024 06:31:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 65F488D0001; Tue, 4 Jun 2024 06:31:36 -0400 (EDT) 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 48C106B00B1 for ; Tue, 4 Jun 2024 06:31:36 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E7D501A0EFC for ; Tue, 4 Jun 2024 10:31:35 +0000 (UTC) X-FDA: 82192839750.16.9C5E0C9 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by imf28.hostedemail.com (Postfix) with ESMTP id 13821C001A for ; Tue, 4 Jun 2024 10:31:33 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="erfcjJ/z"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of seakeel@gmail.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=seakeel@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717497094; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=nhic3HtJ2UNaR17Z3aku+b+QmxLzUCgN7xFJkw5yb18=; b=UDcIwtYvbGrp64DFb3BwV0eV7oeQbWLcbwWiIjWPXh4Cdm2u0RaIJvjzYWCD5uGVWDQxsw A80RTLspkT5QSc/xhpCTwFvP4lSaHtIjTfMkVaxmao/exFt3suloPC8cuHDKSjMIhvPnfv 2t6yPMekSvxWqXhzu775T+bwVrxNZTQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717497094; a=rsa-sha256; cv=none; b=0wavWKP96kJ1UiRHaep0Yi/K+gSbqPCzEumd3V0js24Iv4+iiRSIdMHpomYnF8kf9rfu+2 qLljBox2WOTp2FIp96VMz6JuM+iLQ7K5Sl9pd9A379rEH4rOvZqfMTx8yEOfbIf8I1jUm+ SSWTdBHPh02EZ0EBZrD38SC7iDR3r54= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="erfcjJ/z"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of seakeel@gmail.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=seakeel@gmail.com Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-1f62a628b4cso34816735ad.1 for ; Tue, 04 Jun 2024 03:31:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717497093; x=1718101893; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=nhic3HtJ2UNaR17Z3aku+b+QmxLzUCgN7xFJkw5yb18=; b=erfcjJ/zi/2v07Oe3yesRYtfIqdEVNdzTDyhUZaBdjmpOX0tHoc0Jg3spVSBrR4YJ1 LqH2fU1FcSlJUA/hNKA8n93Urtlp4wzP3GoKGvDMugqVrAf2QBg12WoSsLoIzJfcqK+y KAvwUwR5ZLcyu5FXkJx4pdE0impaaFSSlbUHAiI2nVNuADrcf5iMgiTrsmJcwedkNFui ny8expH4NMzvAzHqvNW3bIIN1kRs8Gpng1EYDE6HQROBnROL9JgS/y4gUBc7lNTVbR0h UdpbAwTmoZTn8ywbllCvWvD5HdZalWPkTUzi8lE4oeeDcai9ZWWxwZ/TP2yLphndrEAw 1NIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717497093; x=1718101893; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=nhic3HtJ2UNaR17Z3aku+b+QmxLzUCgN7xFJkw5yb18=; b=FpPtoatkMoHo8sWWo9oFRrVQi2obPtbRggc5JTx3Wc2/TPe6nNvXugtpcyVb6kjeOL lx32d3demwGPKfYmOLko50o0gtoJar3Mx/69V07or8JPJFQ3ApofwkQ8IUlWcisUIGr9 Sb9Hwl5QNdquLzRLbKqKGxw4L0gTWowNKsnfpBRqg87IoXVZ1SJaZTsMHS7yyuoocvby L8cH6zp6EQ4qX+dIRO6iAoFteUfw9IECR3GxIjAaDJAdqWcLw5la3IItVkN/KNH6l3dG u50CJe8+ExsASnmXTspIvAdZ6+FusRebFtOXOj7qKoyLBPGL/wP736BXe4w2WV8N4H6Y QMvw== X-Forwarded-Encrypted: i=1; AJvYcCUYIMGRy632TENQwlSIbu3Y/lDhIVEu05cB4gmdEb3t4jU6aRWXOUD68huvDQ9bTF4z6+AucJ4janGWd0+85AKaFng= X-Gm-Message-State: AOJu0YzMZed2E7jY8IG8rjJ/BYSlr7pWiWnuxSzGjRDcHHlBqu4hiOgJ H14HTDudssNocfjltD2GapUG1PIw/fSQuKCoET5RqVNo0m/wYKm3 X-Google-Smtp-Source: AGHT+IEyEF2qx6KiB7jfx5Q2Rcfo98TYnuL8yFs5VQUtlZ85ugMPbdQUWHYLqlOH+Df8DgPE2WtXwA== X-Received: by 2002:a17:903:32cf:b0:1e4:9c2f:d343 with SMTP id d9443c01a7336-1f636fe87b4mr125241805ad.7.1717497092662; Tue, 04 Jun 2024 03:31:32 -0700 (PDT) Received: from [192.168.255.10] ([43.132.141.20]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f63237ae1dsm80754145ad.119.2024.06.04.03.31.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 04 Jun 2024 03:31:32 -0700 (PDT) Message-ID: Date: Tue, 4 Jun 2024 18:31:28 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 02/10] mm/ksm: skip subpages of compound pages To: David Hildenbrand , alexs@kernel.org, Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, izik.eidus@ravellosystems.com, willy@infradead.org, aarcange@redhat.com, chrisw@sous-sol.org, hughd@google.com References: <20240604042454.2012091-1-alexs@kernel.org> <20240604042454.2012091-3-alexs@kernel.org> <8d3a60d5-06c5-4df4-aeda-2fbec45a8ae0@redhat.com> Content-Language: en-US From: Alex Shi In-Reply-To: <8d3a60d5-06c5-4df4-aeda-2fbec45a8ae0@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Stat-Signature: pmpcogqnczshxz77bnfcpxtyd8j5w9wc X-Rspamd-Queue-Id: 13821C001A X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1717497093-853462 X-HE-Meta: U2FsdGVkX19JTY6S7gQR4LII+zuUGaO+BjaeIi3HOQq4x/ELU7cSHIiUrjiVgvYP5Y1aoOBWk5CemzNtUqcGojwXvAG1fic2uftd9yBCDFcRmY7+AqFT7FRS3u502E9w4mkgVFrqUVFahwgACrGf/x6NN7rvcKRpBuoZ52/2epVIWZ19yM8sCZY7OS6gDeAYPT3ypZhhJZoTtk7Yad6aVsgiL/BVUsMqm9CfhbpZs7o++vlV6kGjyluZ42pVBw7tAA1AhjLFd6Hr42H2/zMrbhjIXm4KE0ZspzZjBTep8QbLZYM0Van5CX3DrG3qzG3bLbXGyqZUZMIfdZ9HAAJ0NJkhdoIJtEeQf6mrYF8vhfZ+rDmRgdspFVO1slwveg8g2GHgxptx5HZgo78negagNGIBpeRY5HDEOIwww0edHL6pD6pKkl9LjMIhInMyBUx8NDrxWw+VImELiUAcQIzrZbPTs9f6ZVV10QJasMo32VD5Ey1tfELcHxj4mJseXuX4AwS2eDMki7u3U4f0uUXcpHGePkuYAKJcH/LxcwDnAGraJgqoIbJTkP2L+Hs+npvCZUuaN+oTUXK4wQNXfxb7TYyKdTTdvC9dvDw8E25InIPBROlFoQhPmeRysCOIXRSpQhvVrWXS+0hEPrk3GldcTdErfE7kn76/S2p7A9JX8/2j/4gEfAYy2OGSAMUt6mNvEUHfWgGEhA/xo26BcQsn4f5Eqvp/YCbUfOP350/jCFmEs4Fv///1WalFS9CBCMSYPp57FlkRrK+vSgOLlHIzsp2ODETatDXVR8AHtKr7k61QeuGpMgNa5lgIHF1oMnYjpUUzsqF4yR61W6k6TkJ/SVLjxP/kbM6fSsuKSGXXDpKGzjSNM7XaA4hgwwePJ0pvJE02EBzBUS9RsqsbT/y0W58BMMqleyVfMGVZHC9JoGQbHn4bQsLrGdaDyyKvQJur9jZouvhdsVsHiB1emL4 hFYj6H38 9I+an5YBFZUQESlTOnusynn5irf9K5tomFdBgzIYiUaEejMVyBotiJ/R+7/hBnbk+75SmvvHZ9w08SHTTPlWkJkb6iSLYlXJsKiGzxvtYGAX7mFsK9BdQt7UTPg/BtuSRlqysLGaQrYv/Q8XN3vf71bAzx1ml2JBTcSiF28/QowkKQdCwcjgtmT/BcyEelVBJ0A5rLw9v3nyeiLchdPc/3m8XAFWWW169OkVJ+Q+T+wjHcZCHYxmH+kwFXnsgmkoZDSKs2vl1eEst3AbVaDKm4SCKasVJWJ4GELD0GaqNbdvyLw9hRENuTTCXtvocjJRy/MhYJwOZMtLpGHZHicTztXx5KnH/t/i/cQxcbB5hrzNySSl78Sy6a52jTMxFQau5PZPKveeQGSw7oNReaTf5HtYgi7GScFZbC+3FIKm451zAZKWGM9tgDvmtkFm1+e/t4j6gLq7E8U5mc0/aXlT5ghQXl1DzPoY6qK0IkVakTwMbM69F+5i+YZ3byrEYEU8zp/f4TBPKZkj+vl8MXNKUVhnwH3y8upabn+jUMgItYwe9slM= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000029, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 6/4/24 4:12 PM, David Hildenbrand wrote: > On 04.06.24 06:24, alexs@kernel.org wrote: >> From: "Alex Shi (tencent)" >> >> When a folio isn't fit for KSM, the subpages are unlikely to be good, >> So let's skip the rest page checking to save some actions. >> >> Signed-off-by: Alex Shi (tencent) >> --- >>   mm/ksm.c | 9 +++++++-- >>   1 file changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/mm/ksm.c b/mm/ksm.c >> index 97e5b41f8c4b..e2fdb9dd98e2 100644 >> --- a/mm/ksm.c >> +++ b/mm/ksm.c >> @@ -2644,6 +2644,8 @@ static struct ksm_rmap_item *scan_get_next_rmap_item(struct page **page) >>           goto no_vmas; >>         for_each_vma(vmi, vma) { >> +        int nr = 1; >> + >>           if (!(vma->vm_flags & VM_MERGEABLE)) >>               continue; >>           if (ksm_scan.address < vma->vm_start) >> @@ -2660,6 +2662,9 @@ static struct ksm_rmap_item *scan_get_next_rmap_item(struct page **page) >>                   cond_resched(); >>                   continue; >>               } >> + >> +            VM_WARN_ON(PageTail(*page)); >> +            nr = compound_nr(*page); >>               if (is_zone_device_page(*page)) >>                   goto next_page; >>               if (PageAnon(*page)) { >> @@ -2672,7 +2677,7 @@ static struct ksm_rmap_item *scan_get_next_rmap_item(struct page **page) >>                       if (should_skip_rmap_item(*page, rmap_item)) >>                           goto next_page; >>   -                    ksm_scan.address += PAGE_SIZE; >> +                    ksm_scan.address += nr * PAGE_SIZE; >>                   } else >>                       put_page(*page); >>                   mmap_read_unlock(mm); >> @@ -2680,7 +2685,7 @@ static struct ksm_rmap_item *scan_get_next_rmap_item(struct page **page) >>               } >>   next_page: >>               put_page(*page); >> -            ksm_scan.address += PAGE_SIZE; >> +            ksm_scan.address += nr * PAGE_SIZE; >>               cond_resched(); >>           } >>       } > > You might be jumping over pages that don't belong to that folio. What you would actually want to do is somehow use folio_pte_batch() to really know the PTEs point at the same folio, so you can skip them. But that's not that easy when using follow_page() ... > > So I suggest dropping this change for now. > Hi David, Forgive my stupidity, where I jump over normal page that not to belong to the folio? Thanks Alex