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 8F9EFC369B6 for ; Wed, 25 Sep 2024 09:42:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ED7846B0083; Wed, 25 Sep 2024 05:42:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E5F606B0085; Wed, 25 Sep 2024 05:42:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CD9AE6B0088; Wed, 25 Sep 2024 05:42:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id AF8026B0083 for ; Wed, 25 Sep 2024 05:42:19 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 27A40120757 for ; Wed, 25 Sep 2024 09:42:19 +0000 (UTC) X-FDA: 82602769998.24.B3EBABC Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf05.hostedemail.com (Postfix) with ESMTP id 6D6E6100003 for ; Wed, 25 Sep 2024 09:42:17 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="FWJxi/Ie"; dmarc=none; spf=pass (imf05.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727257322; a=rsa-sha256; cv=none; b=AR1i2dxN/fprCwlti5y/KLxnLnd76Udr6wTGaQ0P1nBcB2uh/EIGrl2YoE7zV0zL1xPJzi QzQTW9hSXCI16hYvNW9rDTFul07SOX+xhvbvcmh4HxPOwa9+J7NYWghAIqK3oWkm72saOf +zVGNIaQAmb2JkG1dnLkDjz+eWcTsdU= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="FWJxi/Ie"; dmarc=none; spf=pass (imf05.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727257322; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=mLCr4OamFsbDHCeWcUxfBkYKOu/kGZoP2sBLS9aLOqY=; b=FdDBKjCdVRhJ1fKj3KgzixPHHP5dPbEUzqIOmYC4j8123Lte2yZ7EEiq+nfykFckkj5pxL MxQzoZJUBU0N1CCpWGFEkD7ZXJNMbZfpRm0negnjneJOYMAgaDNMJ0/jjbGLEQIRPhod1e wQDg9RfOYj+v6I7hmlj7FMQA02pWH34= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 8F7725C5BC3; Wed, 25 Sep 2024 09:42:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E775FC4CEC3; Wed, 25 Sep 2024 09:42:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1727257336; bh=kq/AyZVGfErRQFM5o3wcewf/LfTWWwC08Cz+1zsriXw=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=FWJxi/Ie30ZxGjuaPvvaqSiXc+e4sKNQAQD4Urxd3bLdKRJVOa/DV1k4Z67fFhssQ Yim1Hsp15cLLwLAHsOYUiY7nBw2977NuRb26X06vx9BIGKHc5/bLbGIPgmcpKT1HLy 9Lw1oHQol0X5ZWvgMVBlLa/x8bqFIVEAin2RzCJc= Date: Wed, 25 Sep 2024 02:42:15 -0700 From: Andrew Morton To: "zhaoyang.huang" Cc: David Hildenbrand , Matthew Wilcox , Yu Zhao , , , Zhaoyang Huang , Subject: Re: [PATCH] mm: migrate LRU_REFS_MASK bits in folio_migrate_flags Message-Id: <20240925024215.265614f6839e752882b1c28b@linux-foundation.org> In-Reply-To: <20240925030225.236143-1-zhaoyang.huang@unisoc.com> References: <20240925030225.236143-1-zhaoyang.huang@unisoc.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspam-User: X-Stat-Signature: zxt9xj9gxj877f9e3unnio5zcftjbnjy X-Rspamd-Queue-Id: 6D6E6100003 X-Rspamd-Server: rspam02 X-HE-Tag: 1727257337-74842 X-HE-Meta: U2FsdGVkX18PeuYgBaK+vSTsdRRjvKYzxWxAqdLnv5U9vEwM/aATtRNjhQekrpmD5Yx+6NMDPUCO/mttvCb6LJ6Nefqm8MT/UPBhG0nVh4IUitZHwuFlfgsFoee6Waz4kDeRS0XyuGMKIHS5ucOhCC5dA0aFrDwRa/oxOj+vAIQ0h0xX2PvDt8JvhcV0s90hiA8n2R1+83VOc7LdkczVpDvXNK1WvFG8g1f3+A7wyfkzbSLSKvy27rVCofMm4T7cUjoIXoKCaImnurGn470kuJSHgNOo5vgVpTVYAq6Trr61GHdAr1tUuawJBL5nRLpyT67L99x8o/Ky+eu1MaT70c92bkOEKWcyP2lLgTUPjGu3THvwepJgu/T3n2p2r5sT1ALjUXkXbnnM1/eY4bvfj3BrG08qbHYWDy64inxGpYimwB6157Xh6fehS1FIQXusifHGfmHUNIhrF/pOMZ9EwWqCqxFCqNu5hBKMcrA/WjVwFNxWTDYASO1gbFnmN/LmUOQmb381ECzM1JmDPi6fisQtIxs5J+4LsuT7FbLSNLKNL4vWkvLI8XR8F9VLZSg9Zr0Osu+LSE9NWxrQZ2AsidQXmCCSwhZRdhwbmP3EqQ7Uhe/6z6i9N1fFbX318wv4BSKnuU0vxiXjw+BlKfhS4wPSoseQ+OSQVSWRe5r90zpkFy9RniX6+0uQsrOftzRgpb2IVMLvGQpBx3EERm/rr3aUmVEwVVRODAy9X4XcC6KUGmut7iPT0NL/d5FSfWlN4lI+qC7SEneIJoEaD3NWkV/gj9nP7QC1Krjopje1p8KuH2P7vid/UFn2tfiBXvvw2mQ1uh+1qb+qUa8WBAgYbSqe5TRey2O90Q25eqg6H1FzgNrzR1Dg1O8J26KDibfOJxnZWb1mAEIJSLxKLCycV4s2rGTplWV43ioTz08gkq4027rAahWpJ8RPOfwaGnhvUwlQsMWQzYBzDvC5PuH 4LS1gej7 epKtl/0T9mW8i5MGUjxwO43sTw9qr9Jt5JBlurCwVGgU2ypAbqdOPDSh+3IktOCu2+W2NJpqhvOYQZyT6Wplf2HJLzsRA5x66yJTaKJ+t23Dk87aV84DicJGA3ZzGy/Kp/saOZYLTqp2wA4Fsrnzu4v7DC/EEHa5ABRMBSxSN7UizfjN5fd3+fZrdvn1ZV2dficz8FE3lBluN0yH1twhCiZPo3b1K2+hwq9BgHCDzRJ40D5EvsVexuv3sazwYRIPPj5wjY0s1Sl/rqPTlYJIFazLS854/ws2MkVoRnSxOfs9WZjoC12WK0D5VQEXXTyEIuDeja5rPi13BLUr1YfuyA+NMELwPyww850C3 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: List-Subscribe: List-Unsubscribe: On Wed, 25 Sep 2024 11:02:25 +0800 "zhaoyang.huang" wrote: > From: Zhaoyang Huang > > Bits of LRU_REFS_MASK are not inherited during migration which lead to > new_folio start from tier0. Fix this by migrate the bits domain. I'm having trouble understanding this, sorry. Please more fully describe the runtime effects of this flaw. > --- a/include/linux/mm_inline.h > +++ b/include/linux/mm_inline.h > @@ -291,6 +291,12 @@ static inline bool lru_gen_del_folio(struct lruvec *lruvec, struct folio *folio, > return true; > } > > +static inline void folio_migrate_refs(struct folio *new_folio, struct folio *folio) > +{ > + unsigned long refs = READ_ONCE(folio->flags) & LRU_REFS_MASK; > + > + set_mask_bits(&new_folio->flags, LRU_REFS_MASK, refs); > +} > #else /* !CONFIG_LRU_GEN */ > > static inline bool lru_gen_enabled(void) > @@ -313,6 +319,8 @@ static inline bool lru_gen_del_folio(struct lruvec *lruvec, struct folio *folio, > return false; > } > > +static inline void folio_migrate_refs(struct folio *new_folio, struct folio *folio) > +{} > #endif /* CONFIG_LRU_GEN */ > > static __always_inline > diff --git a/mm/migrate.c b/mm/migrate.c > index 923ea80ba744..60c97e235ae7 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -618,6 +618,7 @@ void folio_migrate_flags(struct folio *newfolio, struct folio *folio) > if (folio_test_idle(folio)) > folio_set_idle(newfolio); > > + folio_migrate_refs(newfolio, folio); > /* > * Copy NUMA information to the new page, to prevent over-eager > * future migrations of this same page. > -- > 2.25.1