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 EF543C369D4 for ; Wed, 25 Sep 2024 11:50:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 524346B0099; Wed, 25 Sep 2024 07:50:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4D4286B009A; Wed, 25 Sep 2024 07:50:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 39B5A6B009B; Wed, 25 Sep 2024 07:50:14 -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 1A1F46B0099 for ; Wed, 25 Sep 2024 07:50:14 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id C579AC0B67 for ; Wed, 25 Sep 2024 11:50:13 +0000 (UTC) X-FDA: 82603092306.24.D81DAA2 Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) by imf02.hostedemail.com (Postfix) with ESMTP id E8D8380003 for ; Wed, 25 Sep 2024 11:50:11 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=BBk75923; spf=pass (imf02.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.208.179 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727264891; 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=axWWiXyzRMbM4Axw/3+vRv92qzmnqSQaWTNdg37rIL8=; b=R0dQl2HW1EbJeV4iOK4OeFSgmgmbYbBRnjSRl4ACTIr6muZ2GyzeEHuCKutz3tC/CHIsGc /VcHMnm3IsWLlIJxf2yxj2xA9omzGvW/Ro26EZozLoiUnnugoPhcCvaI7FIvRTlcWz4maV eWZ3CKmkQMXIA3v7/CCWlUlZvKXmL2g= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727264891; a=rsa-sha256; cv=none; b=EtHsjBtxphySkhoQp5HVbEZhTprJT7ICOuKYsfU0uReY25CCFNHIcsbBHX5do0lGOLmyA2 /8al0yg/rUYQfAkx8glI9Glm8Xdy1yCCTMaRdmwoSSnLUHTwALKOEjUy3ubki3C6wW5YOc cpoPP3q3l1kBhY5F+0x9UTN3pDWbRC8= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=BBk75923; spf=pass (imf02.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.208.179 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lj1-f179.google.com with SMTP id 38308e7fff4ca-2f8c3c83ce0so3350691fa.1 for ; Wed, 25 Sep 2024 04:50:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727265010; x=1727869810; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=axWWiXyzRMbM4Axw/3+vRv92qzmnqSQaWTNdg37rIL8=; b=BBk75923PGPmxQQOcGuO5JGY9eA3xhaF9OE6nFXrggJpQ/mtt+NQjakkvuoUtbdvej rsPN11TSI2rU7+n3J/LXY5Ko95V4CZfCqTKwC1NW7ucb6H2yviALS/xG+jMrkopCUDYO 1hDrAmM3UTzHDIxwuj5MOXrsqxlJE4uKJ1C/5HU1UPiLESSUIzf45yQ+Wj9jR7xMYhKj XksJ6sLg3pyeUa/H++8fbXKeLVCBZw8LqPrqY/aAxfA2b7nVZtcdIfFGLvOQoewdOJ0b VKcKm+7uaeoUFvlQva2Dmc+o3BajZBjeXdm3SV+kFehJhjOvYIxUdGFcYwfLnKw5YN9U hFKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727265010; x=1727869810; h=content-transfer-encoding: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=axWWiXyzRMbM4Axw/3+vRv92qzmnqSQaWTNdg37rIL8=; b=vzC7lqP3c1VnRtmltRLc8JoYT3Z44hAit9t2rFY8Z+mJuq2R6gVw0kxfKOWarWDbxl VGaSwfXOTlXeDuDYieNUmSTlJgLkN5zm5dZSWcXs/Rio4eLxwwIhTW52dVD+ZlXrxs6G Uks2g/bDKjcvBolnl3nB7xNLhly5rdMVNi/jd4PDepEVUpSK4v1VDFve4ER/WUwfZhnx GfYS11+B+MMM260jSTeBN9BpqzZ9TFQbUtzdiCTm9hi/bqjrXJXudp0BqQMJn1Jyj0yp ZWCeyTieNihBpPDtZxGcfvjhmvGW0pEQawHEpn8ajjQzMLU1ySb/QUoQTLQ1GCU+yOq3 0EAg== X-Forwarded-Encrypted: i=1; AJvYcCVN7aGOXXuNuPK+MrCRzF7itqJo0IJyg52C2bTxjS44gHHfv8fTidvgGx4XwicRl1a5aVQDW5OJiQ==@kvack.org X-Gm-Message-State: AOJu0Yzke0Mey+HVZVc+dIol4XD8laOOLxP19btQcVBoJlAhdxbw3PuT UxM40KDMWGrVOk0aordUkgW4Bs8tG0dWqc+OAEnnwaBd640oHQJc2EZK/SaFyv9qVuvuiVCvqvz 23syX/TxBwSzRgv+zmfS2k/IX+5s= X-Google-Smtp-Source: AGHT+IF8UF9Wbeti2cAKtDua2321UrAXvsnz1+fp+jvpuvrupGkGqOJ1vrY5ZGsW7/LY01nXQcJmi1iha+a+I76tE2E= X-Received: by 2002:a05:651c:2115:b0:2ef:24a9:6aa8 with SMTP id 38308e7fff4ca-2f904a76d19mr3985471fa.0.1727265009613; Wed, 25 Sep 2024 04:50:09 -0700 (PDT) MIME-Version: 1.0 References: <20240925030225.236143-1-zhaoyang.huang@unisoc.com> <20240925024215.265614f6839e752882b1c28b@linux-foundation.org> In-Reply-To: <20240925024215.265614f6839e752882b1c28b@linux-foundation.org> From: Zhaoyang Huang Date: Wed, 25 Sep 2024 19:49:58 +0800 Message-ID: Subject: Re: [PATCH] mm: migrate LRU_REFS_MASK bits in folio_migrate_flags To: Andrew Morton Cc: "zhaoyang.huang" , David Hildenbrand , Matthew Wilcox , Yu Zhao , linux-mm@kvack.org, linux-kernel@vger.kernel.org, steve.kang@unisoc.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: dspeffqpghydgan4r6cg4iekmsrqsdow X-Rspamd-Queue-Id: E8D8380003 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1727265011-373088 X-HE-Meta: U2FsdGVkX1/iRE+AsXKKnVKqxY6ys6UjKDX+0xNOMyCJqsKet4yr0WAmh0WfrEA1cDNUHGSrPQ3hswU8rACIXptGrY+4tOTeCmCjZN/+Qf+RDRQRpdvOuNdWDoBd3FN/g09oQ3Li9BufpdWVGm/N+FMJHD+RTU99Hb6Xem21L+SgAV9sMO//G828B4Z2+WvA3lHmD9mCTjNf0K/htpH7l9dLRX0U3ulk+Ihd4Rlp4oGP6wEh2xQRXzgze5FcaiXYyqS7EzpYOZSbliOKM+O0ehqwaK/qqdFrPpFo7TYsm5c5+YZHiXdwCYeD6GljFOhdWMqidJxSJ+gFPHRskozGLVxMLLIfBOLxKabNnKD+8Q8zNAuWGua1H7L2YmE1eJxC2HUNwHgJqMi9Lho5AOiRpY2PE570zg0prjqsSeNVfg5bHyA0fp16GTwbelnI1QasXYVvZrgxcN8Bj7q3Yxh8qdOa0BAVx7YcQU2yThv0D2QOUZWFAODrGXjSeGuD6JcMFmXx+wAZaao+ie6uI0JzllN10ahmquPjWLCH7djESf+Y9foCdcjzud5Yd7gRxf97wXJifsMdttjoult591YyYykvMm09Iy47sTVQuhKSla5yhfFliDXSzjyxqQly+haucMM0AvnZdZ7ibIepo0kyAUtHta+BITYmQhEmJRSVattGEz4zVczVLfMRbss+5K/Atrw3tNeJQBN+8hIxlf4H53hhZqxAOZK3d64m131U5huy9M1jNchRTDMA8p/qPjVIJU+jlaz5MejiN2uG8X+ACUmgv4Zn1uP2c40161dUIcU836TRM6Hy/7jBwBKhZSkPtQrLyjHJs2GbvbAhD66u2SwrvVeB8v1O6iwBc40b+cAKW4W0WCANQiIBdxde9Ilffp69aTGsPmrItB46zojQ/3vlW7cTB6/CI1eRiDi/OrCuL3HcivUJl0DMcWARgvwylB6cI1Ar28wwoYxYXB+ NMkai4l4 6tPQZBB5yGvPCf0Exp8KLKHpqM51mEdP4LPVyV67xY9E8Fo1S/xZCdRSbKf66Bm1AdUG8R8J5aNXTum4ngc8Ba43QS/XKR+13JH3lAc950oPrrcUQONRuWC/QyLQbylZ+4GU1903+W9+evXHTmTUME2W94Z5zZDU18B9GrH/YPT5UAYGvnnJlLQ5TnO+mj0a7P8SGKy+CTYkATMpPpAo/V9p6CHNh6w/rVjSDIn9SKYxJSYVGcrF/bEvJLgHDssQnqCmP18zUws6AvVPcuIa3rXOq9kGcNQLaPrRAlyurcCg2Z1kJrLfEsi6GQ//SEdnVh3yz/tOWC26wpk5YyN/4kLcfazFLGIEQVqR4Ks3pkkY++wqsi619pk03/xXVkDJ0GiH7Ggkghf80fFd4DBvMTX3qDVrxkQfcH6otbcF//J2ZzyuOfH1IY7J2DZRX/a/W/FPr8sIPPO3Q7/w7otc5mUFPGCGAlpmyprK0ahYy5GqupD0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000038, 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, Sep 25, 2024 at 5:42=E2=80=AFPM Andrew Morton wrote: > > 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. Sorry for bringing confusion. According to my understanding, MGLRU records how many times that vfs access this page in a range of bits domain(LRU_REFS_MASK) in folio->flags which are not being migrated to new_folios so far. This commit would like to do so to have the new_folio inherit these bits from the old folio. Is it right and worthy to do? > > > --- 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 =3D 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, st= ruct 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