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 D070FC27C4F for ; Thu, 27 Jun 2024 00:23:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 58CC36B0092; Wed, 26 Jun 2024 20:23:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 515856B0095; Wed, 26 Jun 2024 20:23:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B63F6B0096; Wed, 26 Jun 2024 20:23:34 -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 1A8986B0092 for ; Wed, 26 Jun 2024 20:23:34 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 7F5AF12186C for ; Thu, 27 Jun 2024 00:23:33 +0000 (UTC) X-FDA: 82274769906.06.5FB8DF9 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by imf09.hostedemail.com (Postfix) with ESMTP id A575E140023 for ; Thu, 27 Jun 2024 00:23:31 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RX1FbLxr; spf=pass (imf09.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.167.46 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=1719447799; 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=/4O4v3oTH5yhuGGA5CG0CRKCcEGuOpA81lZvmbZ2npc=; b=03vSjQATe9OyY3gj4C0pAe7MLAJw35jH/I6mSq0SINhXJNlRt5HBXtdjZC2HQtQCi9Ucue cbiUwsr0hm//DEmrYEr0lTfdCFPrizz7COF6iOJxk/1rCdQpyj/BBsOlJRdsnYJlN7pYV8 NWGIR+LjpQg39jjxddWIT/eP58WOP8w= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RX1FbLxr; spf=pass (imf09.hostedemail.com: domain of huangzhaoyang@gmail.com designates 209.85.167.46 as permitted sender) smtp.mailfrom=huangzhaoyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719447799; a=rsa-sha256; cv=none; b=fv8xanoFoAZoQxj2ot8wbq93eHRqdP6fw+NsGA9rJsWyLAz/V/vyXTqL4+5LJaUjdpPeO+ 1L5HR8i3zBVmbPHT7TqVwKeTjNirTh5FxChhtEIvwWB+hZ6Mby/N02E3OMBISch8O2JYYo HajZpSoWMa5aghsV1YMePktEssJqubE= Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-52ce6c93103so5087831e87.3 for ; Wed, 26 Jun 2024 17:23:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719447810; x=1720052610; 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=/4O4v3oTH5yhuGGA5CG0CRKCcEGuOpA81lZvmbZ2npc=; b=RX1FbLxrBlcOxi9aVjkMcZJHkhOySXNPF1ULH9qg0ge6+ikBxZJJJBqtz5XPCUT/Na X54jF+uZEIJWaGxKDdDOFGTDu5mWyzbdc/rE7r7nVL07EN9f92C1yW94eLnLY9NHvKds m8PGyF+xv1ft4bywYSpiklwJIpl+J6z2VLS0jimMSrKKHr2MMt9dN6RoFECmpYFOk09S WhYC4jnDcNZvdYtZmOO+K1NNtoVN2SPLBkR9XvvrMVf20kEOJmvehjJ6o+KY/xD0FJ7j ueAC6PIXJQuut37s5IEEJwR5sM8GR3sfnv6wq8zQ9nAPf7CGvcyacM7We0sYt56BYD7l TRvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719447810; x=1720052610; 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=/4O4v3oTH5yhuGGA5CG0CRKCcEGuOpA81lZvmbZ2npc=; b=ry/K8fybRmaIl9ylZcSSLJJLPjN/zShLp//AEkHqHlEciHQDhQMz7XYDS0O9Ar6Dnw UqRil+r+DmDVQai3aoBpq+CFowNLGgM3EEecXhE4o/Jd1yHyz4kjddRGepLqxqZ7GDwh jNn07bXvO00aVuUbhS0XBcX1wsgt8DsYlHWiA6GLayB6FH73tYwlWBGUDk2i0DgxVX0F eyWmZ8B5jwjU+Ww9EeZrzD7b2B5l86uArAlDg7D4oypLXPgR09VsRcf7Y1UHRF0BhAiU 9YJxtOjillx/0OoTvXS4ms3KcG0H15e1+bZ+0LzA0/SYiQju/4KVl8aLa0vjvVacJXaz BCKg== X-Forwarded-Encrypted: i=1; AJvYcCXXiwm7fOKkjbKhO35JWcPKAc/0lPXu4Dh2Rst0igisQCZytGjjXVOdj9+O0UeElZz03I0L8mMSVz7T25OzzlNnKBw= X-Gm-Message-State: AOJu0YxzuF7JANxtCtzp2FVIaBEJqeu184V7stAUUKLX9STworW/MScx A6SZjshP2aOc6w5HhM3EAqv8E0PotTqaoKUicEMpsFWepgUDAnoSutOUFESTUxaJHizM7ay4Pzc r6I7QLz1tqBoSshsTzuYmCrt9Egk= X-Google-Smtp-Source: AGHT+IGIBDv9X5GNWfMqDluMIqpUDUOXw9OhHZYFzvb0LpeWdG2/E0UsRSPvarB0AfOc7fO0/Fsj9Di8fn4PcnIm3Nk= X-Received: by 2002:ac2:4c8c:0:b0:52c:9ae0:beed with SMTP id 2adb3069b0e04-52ce18526ecmr8722081e87.52.1719447809281; Wed, 26 Jun 2024 17:23:29 -0700 (PDT) MIME-Version: 1.0 References: <20240626084406.2106291-1-zhaoyang.huang@unisoc.com> In-Reply-To: <20240626084406.2106291-1-zhaoyang.huang@unisoc.com> From: Zhaoyang Huang Date: Thu, 27 Jun 2024 08:23:18 +0800 Message-ID: Subject: Re: [RFC PATCH] mm: introduce gen information in /proc/xxx/smaps To: "zhaoyang.huang" , Yu Zhao Cc: Andrew Morton , David Hildenbrand , linux-mm@kvack.org, linux-fsdevel@vger.kernel.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: 1hb9855k9upayjzyha54xgmgzc7zjsmm X-Rspam-User: X-Rspamd-Queue-Id: A575E140023 X-Rspamd-Server: rspam02 X-HE-Tag: 1719447811-787061 X-HE-Meta: U2FsdGVkX1/VeHSUGaV1SGEmoHHJvlGuK1fK4Y0crgUpvti6caesyYAHo+8Mai8g9WqPAQ8uUy9UOffa01sNvGDMhlKXnxYHVWJjb+4lceQDdgkW5t+L0Rrs7vUUOYgIQaSMmjh8zS6obbRMxIR5aWmXzTGqoza7bu/djJfM3r0eftMqqZiWM/ZQqed5feix4EE7Bt/WH1GR0Gb0jF01aFLa6SGu9z4jdXvApqlWa209Ady9XBTylKMGN0JBapWjMoq/D7PtUKyq+LIylEk6eXsC/N0ED4m3j9QSiqlG5T25rXMuW4v1vGhsuZVSJHChHGmhszPZQvz4xBy7OtzfT1dEAUIr07d4SG5prVd6OllE0TMDYpWvMM3/k2rXkNYy2sWOtrnEHubh7o5pLCGEVGMkgHosdXg6fFe1qYIIm48AfFWbOAb33fjgpVk2czcPk7iKL4Wbv1kLMNqx7nutBaViiC0W9/t2LmDF+EyVu/c2UX/HPuadHNxb01zxu23yASKHaxNUIRNDMqBsqIzI3lz6zdhIKOn2jTr18vjUpQLRLD4g+reSZvwHANN0fjd7NSw2M09okw0fzjxYX21vFomBeosZEolLiQ2pXgBsB+qudGhbVAcTSfHbT2+qnDV7c5iEHCWTDg82tKQwmuFRqeEViqEkBQXUx/xql1EQkRjA/F2G5i1v14oXFZVJrP3CTidkQkKpTJ8Ua//45u/5OFv0YuWZAlhmSTOxsdoVa7lLUP4X/BwZ2960/fMD+EQgAPBIsjaoOSMH1g2mulpd/HoQyheaHYmkqkIexvocnfc7Id/fEauAbCtovUDwtkgv3GdYyMOrVoYDOMXXDtuLb9iT8ep/nFqSjTUHwDeI1c9lK4YMdFXLEyuIoLpZagFMeWm1s/c3x3bYIiS3Spt/W5258gl1pe2KcjgrnsBWcTscXNNu6JJpXMKFB9wiqwf8qNwiQ32oI2e/2wnnl5G BBXLgB/z 3M2S1hO7C2Yt1Li7BaXqN/6LgVpJ1XnZ1Gc0xSOVUs5toamu/XoaEjE8A0Z/tH9SZDqrT839GcBBK0QgK2mU9vWKLUL+Prg9r0p4iM06vVx10HMnbRjJBjdQnhm0cya5/U7O9PqeL2iaAD/t7qQEOthm1A3miuxrK1ROrgmIuquv+dmLxJb2vlieWLdL5eQt3d8eG3bq8Bn27EBB197VLQOPdzGMp2m0BHgNwfdQd2P5iL2aE+0zqx0gxgPB9TSfp33Td+JskjqJEHk/FIL2IPXN93qHDsfqnmOI2cJ//ppXpApMEjY3iHL8LOtUz5QfF4NvhEHZWKSWu7TjfR3r0v4/aBvAkbUj+KKagDUdixUpnEvCxryRNjVDWfU/F2pbiVFkNLbvFzc0/mFY= 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: loop yu.zhao On Wed, Jun 26, 2024 at 4:46=E2=80=AFPM zhaoyang.huang wrote: > > From: Zhaoyang Huang > > Madvise_cold_and_pageout could break the LRU's balance by > colding or moving the folio without taking activity information into > consideration. This commit would like to introduce the folios' gen > information based on VMA block via which the userspace could query > the VA's activity before madvise. > > eg. The VMA(56c00000-56e14000) which has big Rss/Gen value suggest that > it possesses larger proportion active folios than VMA(70dd7000-71090000) > does and is not good candidate for madvise. > > 56c00000-56e14000 rw-p 00000000 00:00 0 = [anon:dalvik-/system/framework/oat/arm64/services.art] > Size: 2128 kB > KernelPageSize: 4 kB > MMUPageSize: 4 kB > Rss: 2128 kB > Pss: 2128 kB > Pss_Dirty: 2128 kB > Shared_Clean: 0 kB > Shared_Dirty: 0 kB > Private_Clean: 0 kB > Private_Dirty: 2128 kB > Referenced: 2128 kB > Anonymous: 2128 kB > KSM: 0 kB > LazyFree: 0 kB > AnonHugePages: 0 kB > ShmemPmdMapped: 0 kB > FilePmdMapped: 0 kB > Shared_Hugetlb: 0 kB > Private_Hugetlb: 0 kB > Swap: 0 kB > SwapPss: 0 kB > Locked: 0 kB > Gen: 664 > THPeligible: 0 > VmFlags: rd wr mr mw me ac > 70dd7000-71090000 rw-p 00000000 00:00 0 = [anon:dalvik-/system/framework/boot.art] > Size: 2788 kB > KernelPageSize: 4 kB > MMUPageSize: 4 kB > Rss: 2788 kB > Pss: 275 kB > Pss_Dirty: 275 kB > Shared_Clean: 0 kB > Shared_Dirty: 2584 kB > Private_Clean: 0 kB > Private_Dirty: 204 kB > Referenced: 2716 kB > Anonymous: 2788 kB > KSM: 0 kB > LazyFree: 0 kB > AnonHugePages: 0 kB > ShmemPmdMapped: 0 kB > FilePmdMapped: 0 kB > Shared_Hugetlb: 0 kB > Private_Hugetlb: 0 kB > Swap: 0 kB > SwapPss: 0 kB > Locked: 0 kB > Gen: 1394 > THPeligible: 0 > > Signed-off-by: Zhaoyang Huang > --- > fs/proc/task_mmu.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c > index f8d35f993fe5..9731f43aa639 100644 > --- a/fs/proc/task_mmu.c > +++ b/fs/proc/task_mmu.c > @@ -408,12 +408,23 @@ struct mem_size_stats { > u64 pss_dirty; > u64 pss_locked; > u64 swap_pss; > +#ifdef CONFIG_LRU_GEN > + u64 gen; > +#endif > }; > > static void smaps_page_accumulate(struct mem_size_stats *mss, > struct folio *folio, unsigned long size, unsigned long ps= s, > bool dirty, bool locked, bool private) > { > +#ifdef CONFIG_LRU_GEN > + int gen =3D folio_lru_gen(folio); > + struct lru_gen_folio *lrugen =3D &folio_lruvec(folio)->lrugen; > + > + if (gen >=3D 0) > + mss->gen +=3D (lru_gen_from_seq(lrugen->max_seq) - gen + = MAX_NR_GENS) % MAX_NR_GENS; > +#endif > + > mss->pss +=3D pss; > > if (folio_test_anon(folio)) > @@ -852,6 +863,10 @@ static void __show_smap(struct seq_file *m, const st= ruct mem_size_stats *mss, > SEQ_PUT_DEC(" kB\nLocked: ", > mss->pss_locked >> PSS_SHIFT); > seq_puts(m, " kB\n"); > +#ifdef CONFIG_LRU_GEN > + seq_put_decimal_ull_width(m, "Gen: ", mss->gen, 8); > + seq_puts(m, "\n"); > +#endif > } > > static int show_smap(struct seq_file *m, void *v) > -- > 2.25.1 >