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 E5779EE3F12 for ; Tue, 12 Sep 2023 19:47:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3BDCB6B0158; Tue, 12 Sep 2023 15:47:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3468B6B0159; Tue, 12 Sep 2023 15:47:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1E7336B015A; Tue, 12 Sep 2023 15:47:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 095AB6B0158 for ; Tue, 12 Sep 2023 15:47:33 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C71461A0D1B for ; Tue, 12 Sep 2023 19:47:32 +0000 (UTC) X-FDA: 81228979944.30.12C5990 Received: from mail-qk1-f170.google.com (mail-qk1-f170.google.com [209.85.222.170]) by imf26.hostedemail.com (Postfix) with ESMTP id AEF0D140019 for ; Tue, 12 Sep 2023 19:47:30 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=hjA1Igx3; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf26.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.170 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694548050; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DRp7Cw0pUdPpMEMhg/TqTxSTeqvntkPSN9Iu/hkDAvc=; b=ybL0Yb7s75yehric9wshXy361x8WB1ML3iSvLPYBWGGaXLG0erOeDjwrvEQO+vQcV0mdyo LnS8zDE1KhCA70XYPdjssK3L74CK+FnGesk9ZqGPLHzFhO/l0Px3P1kA3U4M8jAW/ZU55x aPZo5ytqwfTlWybTdqMC9xKuRAv1lHA= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=hjA1Igx3; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf26.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.170 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694548050; a=rsa-sha256; cv=none; b=dpstSQMLk5KKyxnVS76cNZ2+L+0tMboWibw9BUu1SKB8CnJNhQzCw/xnR2jk+CusvoSpHX fx/v6tZzZyrQ3DnqyEdRnRr7ZP2ILCRMTx1tzIzLkdLZDYzI5+JA5Nek4weJurEpRbTBxh IWMdsWFT8OStEFy+IZjYc+ACk8RuVGk= Received: by mail-qk1-f170.google.com with SMTP id af79cd13be357-76de9c23e5cso374437585a.3 for ; Tue, 12 Sep 2023 12:47:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1694548049; x=1695152849; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=DRp7Cw0pUdPpMEMhg/TqTxSTeqvntkPSN9Iu/hkDAvc=; b=hjA1Igx3tgVm8HyMrFbnPiFFMTkAeOFFpSKW/AcYequ13200n+B6JA4F5UKodzqFsO cA1a/AE2I8NCdMxt2dCsF/ZOtVr56VE/1S4hpC+VWlxw4twfK7QXSZB7aLQGkxyQgvjR vysYlPcbB98NlFLjJIutEcyOF+rivH3lajXGfL3/yBufL44AiIJyE05//xTHFrsEznER FfNFzUZ/IQkEMZ0opfciqCoqMxK3QdCk2qEC1kWz73iylKV6MyK4wCn3LwfQAKx0wsfa XVHc04rMjsDs8wHBaAyP+GXTRn1iIROIvtWKjOZWC1CEEf4P2KLoFQKg/+oYO9H3alM7 Sq3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694548049; x=1695152849; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=DRp7Cw0pUdPpMEMhg/TqTxSTeqvntkPSN9Iu/hkDAvc=; b=EPk73NEOCzQ6/mlUSZwprsCu7wwhfjK41gOgB+pW7cGxEaxFHy8funHdEFqfam2n27 nkA7TXz18z0OegCzx5/+YTdf4iTWhlkbV/yDoap9RQv7U8tFj6E7tvE9+leIfNsLEC40 AnhmQZd8x4moB7YfRF9J+9i1QUABg8eplN4q/ubn96i10YZqdyXz3RDzZRB6GiKof85c STVk5k2h36/eTnWAq9YomB1RjoRGL6k5Jwl/3XUb+mcXLsN2iD8ipy3cUvI1TFWVMk8K Tm3HlaANkeNJsyh87DL8nYakDzzi+De/67GnW0BIn+pxCWvcVxJwbr4+AtNZ+811s1AL GQ9w== X-Gm-Message-State: AOJu0YzeSt/Qr86dJUa+AQkj6Ve41J5agTIAVhubVd+bgfYNdo2CB5Iw J8k8Shi8BFAl9NSQj720dfVxfg== X-Google-Smtp-Source: AGHT+IHGWK3aIU1wr+JOL/thHJb5oJeQQ/3qS460CtiCby5+JVVPHc4k/Kl3WB371gWwqqklxin7Kw== X-Received: by 2002:a05:620a:22db:b0:770:f3e6:ba2e with SMTP id o27-20020a05620a22db00b00770f3e6ba2emr332985qki.39.1694548049583; Tue, 12 Sep 2023 12:47:29 -0700 (PDT) Received: from localhost (2603-7000-0c01-2716-3012-16a2-6bc2-2937.res6.spectrum.com. [2603:7000:c01:2716:3012:16a2:6bc2:2937]) by smtp.gmail.com with ESMTPSA id s7-20020a05620a16a700b0076d9df37949sm3437213qkj.36.2023.09.12.12.47.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 12:47:29 -0700 (PDT) Date: Tue, 12 Sep 2023 15:47:28 -0400 From: Johannes Weiner To: Kairui Song Cc: linux-mm@kvack.org, Andrew Morton , Yu Zhao , Roman Gushchin , Michal Hocko , Hugh Dickins , Nhat Pham , Yuanchu Xie , Suren Baghdasaryan , "T . J . Mercier" , linux-kernel@vger.kernel.orng, Kairui Song Subject: Re: [RFC PATCH v2 1/5] workingset: simplify and use a more intuitive model Message-ID: <20230912194728.GA36054@cmpxchg.org> References: <20230912184511.49333-1-ryncsn@gmail.com> <20230912184511.49333-2-ryncsn@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230912184511.49333-2-ryncsn@gmail.com> X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: AEF0D140019 X-Stat-Signature: 8918eesxya6yn6ramxfk7y8qzxnpppjd X-Rspam-User: X-HE-Tag: 1694548050-785076 X-HE-Meta: U2FsdGVkX19pjuKgdYbJfqhAgQf6L+gkcPts9QTD+k4DolYVWWUWm3QMzFR0nxmO+fx1pVXB/q/K6CTPDnnfx+5xbsjT2Wr6F4+wiVD4D+N5Dat6rKQ0k15GPWt5AnkqnGHR2c/H5IY9SBxlWwvezAKbG1HmwrBLAAx3rhI66ORqN3ITfbNfRQJ2ZjIijF6CCHlnEiabYMnFWM7MvcoGfS/182omdiB2hysoER8m3bS2Q0lnyVQ1gmNcGF1ghvjZ2HNFHKkqPGm+mP1zhdlz/2U9M6XuSVYfbVfgfDI1Il7YzOCKUW1QinSKnAqQfHAHNzxEOXVxCgMrmXLf9VTbfdmAlH0z2rVasmdXIA6tT/TYlJB1WDijUsA209Suh6x0NMF+HNt1E4NSikmv7Ra0e4R5Tge5Y0ZM3fH2MIGF1NBKTEcVZdOhZtu3Aq/tmEZEydc7KS0u9Ic3YgIgGAvHyQFl76qA7hXbPu43eMjpLVhzVI+n+Jwz5umZHuD8t/hl4GaHplCbeuZOY9zb4WPbR5wEJV890XU1Z5MBxRy7XNOuHtVz6tvYA9O67kEbUbYqsNlKO9xDCnI6SR6c0V8DZxaAViGVvN6zxVB9zN5BzT7+e5HmKXLxjY7zXIjC9zaDohafOQHzeRyNn7IrWYI3TcCHOgfTXbjSddj7xCxKR3m4HROAgZQtezX8ambh1e6rCP4Pdt4tk1+VQQ4rVmnZkLKelEYGOxDm5ZBIIfaxFwos8vb3sSmSlZRTBj25kcgNQKtZ5lQGTNdwBY5Xl5mNIPQKdesw+WQVNQ0TDW0XJV79Y8iRgY/pgDjKV0WRsteASDf64d/VpwJp2+GGNIMOSjdCf7QKi6BRJxsR7s1lL0ygkvzOyYkGuLUohYSpwhfpvaAlo5DK+Sw6gLHVt1XJ5zgr7URU2b4QDM2kwORVdFarlEyvwnaaakuTEOwKlTD2W3ypynzN/ntX7mL9yr0 wAOwhcU6 sRFVhzubyiIOamdHXvQ+fvFd49SpwgjhviP2lqiIXUIp8dTPq+tSwxSVl6mOeOm4JtT0Kh0dfo3Jcq4gex4kdaXMy6AVNRGEsBCZmBZ2O3VHTrBy9S+Y0MSjaKnASZNCcMYfoM+xItwI6ELQp+2KErsKMt+x2MPoaHKxDk0aRiwqWvqQxqxEfupTka+QNBVqv8v1UmzvB7pRpdZQvkmgnGXLgpgYchC/WqGaSWSKNu2yoqD1wYSuSVUqSTNqIPowtJcVJ9SMLbu16nevLozQ5FwBqhGfrTj7s3hMAKQKqa0g/FuQeUJNroxsg2CD8zTXXJZWg40+H7VOplm0nVvk5sYL34YEtxfzTdaYkJX5Kzn4Byrfv42S4XRuB7CK2IffZXX2z/1HHLdJHzzA= 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: 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 *memcgidp, pg_data_t **pgdat, > *workingsetp = 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 = atomic_long_read(&lruvec->nonresident_age); > + > + eviction >>= bucket_order; > + eviction &= ~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? 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. Thanks