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 6D945CA551A for ; Wed, 13 Sep 2023 09:26:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A20E16B016C; Wed, 13 Sep 2023 05:26:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9D1F86B016E; Wed, 13 Sep 2023 05:26:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8C0106B0171; Wed, 13 Sep 2023 05:26:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 7B23E6B016C for ; Wed, 13 Sep 2023 05:26:24 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 495A91A0339 for ; Wed, 13 Sep 2023 09:26:24 +0000 (UTC) X-FDA: 81231043488.16.E969E0D Received: from mail-lj1-f170.google.com (mail-lj1-f170.google.com [209.85.208.170]) by imf16.hostedemail.com (Postfix) with ESMTP id 7FFD318001D for ; Wed, 13 Sep 2023 09:26:22 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=G18ObYzB; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.170 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694597182; a=rsa-sha256; cv=none; b=3UuSdycxQxB3rlw4dI1SyVOjCFAd7vDGMIMMztR15q8MiEMU2YcNDyDnTLancKmEo/4cT4 IDuk02L7Z4/Hn2ra/RlOuD4rHfjT1gBrW7V45+CkFHeHn+HsHTPy25cZrXlwJneXHhGkKT xsZpPt8g5hPcedGLYaGbeOPuWJuWXwM= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=G18ObYzB; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of ryncsn@gmail.com designates 209.85.208.170 as permitted sender) smtp.mailfrom=ryncsn@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694597182; 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=1ydzvaWR/0HAu0cYmRWmycTdk1cCAesdwMAKMou1K4c=; b=WVWa3K6YLEMzItN0yY6Mfe3IuzfhyWi7VhtZEflioTioKp+I1uMA23n1HBHMj0DLlt0bIl VKPCRVlTi0wDfyl5d2cK+f8l0g/vWZ9xSqrHzhVolEcnIzXkaWnph5tIh2LezWqONNMhbn rlavqya56T4dENK4c/XhX7K6GntaHJE= Received: by mail-lj1-f170.google.com with SMTP id 38308e7fff4ca-2bfbbd55158so5881081fa.1 for ; Wed, 13 Sep 2023 02:26:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694597181; x=1695201981; 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=1ydzvaWR/0HAu0cYmRWmycTdk1cCAesdwMAKMou1K4c=; b=G18ObYzBeCeK4cmCJLTrJDUz2MQwl/hRHLT0znO/Ju35HynCFDMHEF6oxuu8LOKkUI NXXhvir96FO+aTBmZuZW0ne9tMbxN5b3IgiAVOTUeyTnNW7YF7u71ZpkvEBLxv0r63QM dzCw9iE5kvtRJtqY+AudV7Yb8dLSt0PTd7Xp4pi90TKYU+Pd1+Oxy6malAk8tr0LrjVH +rrQ7feyrlTAHGYauJ5ZmIhmk/uA8u+WteTc1p29P8rILJR/nzHvW+9ze5W88NoxP2l/ piNpDYYw22QPaZECdefbe56HXduHc9J7H8rJWQdBbLHMJCvYc/fFuTVzvSy9bj4PVhHv c04Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694597181; x=1695201981; 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=1ydzvaWR/0HAu0cYmRWmycTdk1cCAesdwMAKMou1K4c=; b=sGNeplz2rCLNKsJwC0Dw8ZpAI1Nqi1qaz3IRKMKG2EK7DiAAV0kb2kLiBL4KgWhUDD +bYrI3wwUvaGycgeX0aFzrV0oUzq4d/NcWtnBJmwQXUthsy0U5nWZMHYQSSaONiQSijS dAdgNJkZrUc+VVsKJLJHkLb6257QkAP/ELCwIAo1hyRMyKt/DSnW4KjGIhMgJlGXq03x I3ppnYJ28GEBQl7I7qJ7JjC13M5NgawsOJjPXm+tQbcpxbDMmIGpTH9Rgn26sodXVZkM l9fXHscfwhxkVbBwBS9vVSg1Uux+AL1BnwJmlSkzpZVc6m7wjVF81NwkFLcKBc3yaT/m Yn5Q== X-Gm-Message-State: AOJu0Yw6pYSYzbAx/EyFhnXnTLe2GWXTgzdzDCXdsBlHV03wcZ4yvxUa GZz42seYeQAZOlsU5j3WmccbFaxrGSdF7YIH974= X-Google-Smtp-Source: AGHT+IFcEUbTDOBsCc2Mg8aUzTDJYU3m+0bT92/KPrsppH/oJF1p9MhpyqYIRNGfESH5Onx8ayniX6/4PNvGatt7WOM= X-Received: by 2002:a2e:98d7:0:b0:2b9:48f1:b195 with SMTP id s23-20020a2e98d7000000b002b948f1b195mr1755122ljj.44.1694597180421; Wed, 13 Sep 2023 02:26:20 -0700 (PDT) MIME-Version: 1.0 References: <20230912184511.49333-1-ryncsn@gmail.com> <20230912184511.49333-2-ryncsn@gmail.com> <20230912194728.GA36054@cmpxchg.org> In-Reply-To: <20230912194728.GA36054@cmpxchg.org> From: Kairui Song Date: Wed, 13 Sep 2023 17:26:02 +0800 Message-ID: Subject: Re: [RFC PATCH v2 1/5] workingset: simplify and use a more intuitive model To: Johannes Weiner Cc: linux-mm@kvack.org, Andrew Morton , Yu Zhao , Roman Gushchin , Michal Hocko , Hugh Dickins , Nhat Pham , Yuanchu Xie , Suren Baghdasaryan , "T . J . Mercier" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 7FFD318001D X-Stat-Signature: pxok6g9azk6pqemtic9bwytxy3nfwgow X-HE-Tag: 1694597182-519768 X-HE-Meta: U2FsdGVkX1+5LkZiJBwcJXBlKM6RW4Y4zqBm+qd/KZdcilATOSR3OiD9b1LYRGu3KXJXAJzVjQdXo3NNafJkinfYYWLj82v/JKbTbGw2Nvk39Ra0ybfMuCDLkK9PjYPNt3pJSlugMm7rgNsg06wN0CIg+am3WMjf1gw4GEr6mnINwLuZhn2YXy+/0RohqDdWhYbT6yanuU5XIx0MOeu1qWJVH2iVrTtK/mtKW1bMDbhCAD9iCaYHTg49aoSXKNO/wZSEWH7MlHQPD+ni+tpueKSifVT5xboBRuFFa6jJwpUW3fyyJ3bFwWFZduNYvGdj+QdAS/2+/HoxJAPtLl3tJC1YrdJckbcL1VCPuUCeJqShQb8+B0MLjPvAfpoSaE9pm4esy1BcKHPxQFvxGZQ3g2+soVkuys3YLY2h3Yzyz/BXtSpmyU+bz1JfPN/S6w4jmsO0+QR0gP5guAsYMKI/2IjzEebbqjxVznEF05QZN5FaswZiTGuVQXQHisIpdk54i5SqFKUv7LcudZVcJcLGpNWYoFiUajy4c9C1cLE3SBGz2Kd+/OucESz+3CDQJ0IdcD6MPg8w8748ZIlouc/wUqD9yREneaygLUPCnVUDagHYXScbaWDSKVeIgrVHkdbX07gvU5cRSAwputzYlecEFa2e/RVx1C/H03FegvbZu04+G9Z4w13uBoIrHw53xCM3fcNypaKQKUuF6u49dQyS8wObTbyZmWd2VbqU17tfb49/z3iJpJ3VT7QRfuYHROIfExBjaDaahvmLpaU6ytCZ9BNZ8hpvqk9N0gWXNr5UMwEVq/eREEQPnURrN9wc/bQbwwULhkrsWzAAIIRTyzSiEkYWLJBVmX/4I+WoNUJYw47QnG1Ar1rQlEip10SxBjk/SAckyXzs4UJOHLbxqryrPaMTBYsEHxYWDMol9Od/GN0yANcflE0USOQp6ZR5yKiIrOrw5YDcj2C4xUKn1wo W7d0/gv2 h2N1orLckacEpNs9bQxUFH8W/YcChI1IfeDam5lMsHy2aSwGMVybOaH5tMmZD3LkdJN3J4JABCUAQWcGyI0nmEPQvZaJei/ycUsq5PZwx5htWdPYx1yiPpc0JHSebl1qW0repk+0JEC6yFGyaeA5FnMfBrPTpLeq+66CnjGru52NzQnTHzOtiPHYmbVXRXd0Ewiu3za0Xw3VZ80GJoxlza8XOQJUJy+Wra1i+/eML66NL3KLg/d22VV3exs4zvJap7rFsY2k3fj5Bhw9VVbovx4gja4UklyVq0Wt2SGwiBug4L1MRNQFg6jlX+51k3rkaLNbFWpzETb8kDJcL6Au5EsO5sZiUmuP5iVnJrMFcO3HWaDTwpNwW6qCeGAZu4E+eH3dylxaJz5FbvqmlB1GgOc3PAN7pP/D3Vy3G 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: Johannes Weiner =E4=BA=8E2023=E5=B9=B49=E6=9C=8813=E6= =97=A5=E5=91=A8=E4=B8=89 03:47=E5=86=99=E9=81=93=EF=BC=9A > > Hello Kairui, > > On Wed, Sep 13, 2023 at 02:45:07AM +0800, Kairui Song wrote: > > @@ -226,8 +227,103 @@ static void unpack_shadow(void *shadow, int *memc= gidp, pg_data_t **pgdat, > > *workingsetp =3D workingset; > > } > > > > -#ifdef CONFIG_LRU_GEN > > +/* > > + * Get the distance reading at eviction time. > > + */ > > +static inline unsigned long lru_eviction(struct lruvec *lruvec, > > + int bits, int bucket_order) > > +{ > > + unsigned long eviction =3D atomic_long_read(&lruvec->nonresident_= age); > > + > > + eviction >>=3D bucket_order; > > + eviction &=3D ~0UL >> (BITS_PER_LONG - bits); > > + > > + return eviction; > > +} > > + > > +/* > > + * Calculate and test refault distance > > + */ > > +static inline bool lru_refault(struct mem_cgroup *memcg, > > + struct lruvec *lruvec, > > + unsigned long eviction, bool file, > > + int bits, int bucket_order) > > +{ > > This patch changes the refault decision making at the same time as it > moves the functions around in preparation for use by MGLRU. This makes > it difficult to review the exact changes to the current algorithm. > > Can you please separate those two components? Hi, thanks for the review. > > Step 1: Change the existing logic in its place to the new > algorithm. Please also update the big comment on how everything works > at the same time (IOW, merge patch #2 into this one). > > Step 2: Add a new patch to refactor for MGLRU right before the patch > that will use those functions. As far as I can see, that's the last > patch in the series. So the refactor should be second-to-last. > Good suggestion, I'll split these parts into individual patches and merge the comments. > Thanks