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 18A5BC6FD1D for ; Fri, 17 Mar 2023 14:09:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 401F16B0075; Fri, 17 Mar 2023 10:09:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3B20A6B0078; Fri, 17 Mar 2023 10:09:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 279F76B007B; Fri, 17 Mar 2023 10:09:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 185966B0075 for ; Fri, 17 Mar 2023 10:09:57 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id DD935121888 for ; Fri, 17 Mar 2023 14:09:56 +0000 (UTC) X-FDA: 80578573992.17.0D9BB6D Received: from mail-qv1-f44.google.com (mail-qv1-f44.google.com [209.85.219.44]) by imf03.hostedemail.com (Postfix) with ESMTP id ED0CA20026 for ; Fri, 17 Mar 2023 14:09:54 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=cmpxchg-org.20210112.gappssmtp.com header.s=20210112 header.b=GJE2sGyV; spf=pass (imf03.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.44 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679062195; a=rsa-sha256; cv=none; b=aWYf5LDBtvrD+ds0XPsv7S5KUtxKzkCp9UB9XJVfF2SjDPYAUiukzSN70dUp63W4wgEC0b ltk5WFFVfrVUU0SzosnS4We57XSEc7EptJGuBJboVrzEAcsUtgWs3Cl7DqFQ8HH2IiiXV0 JNwofh2+As6og2XhcC7kRC0VzqJf/S0= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=cmpxchg-org.20210112.gappssmtp.com header.s=20210112 header.b=GJE2sGyV; spf=pass (imf03.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.44 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679062195; 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=7soAOZz6NR1eZEWlBBPKzE8Phw744HY/clHBuCipMIQ=; b=4BkuZl7TuWPu2/DZOsK/1C9V8IYUr4ULXrV5ALLLg/xnDBktQDoZPLw4xFhjf9gv8p1Rab ihF6v5mf+xvx6LX5qfA1vw6+lC3jVEKJQv5JYAoNV/u7lVVYcer1+Udo9aYRbETJQpnA6w 4tE88Z/3SO/JH1UtIOPvm2rFtgnH+pc= Received: by mail-qv1-f44.google.com with SMTP id jl13so3481428qvb.10 for ; Fri, 17 Mar 2023 07:09:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20210112.gappssmtp.com; s=20210112; t=1679062194; 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=7soAOZz6NR1eZEWlBBPKzE8Phw744HY/clHBuCipMIQ=; b=GJE2sGyV/zNswHv/7z89KXA6Cb429VDXVVNbH4B5+f+XRZPbPKi7IKo29LF5wh/bbS bdV/flZ2c4Qx4e1cMLrbTXBz1PjOtmDDfuulOzISfCWtEomTOJH6MLe6CH10fL+8XBm3 AOZVAtagi87V8voZUBBleOn0Zs6BO/iI7hGWfXhDRLiU3JzVB6q9g2VUZh5z+qY4pa1/ XSH391RhIP9GWyxr2Tgv1F1po4q5/5IambFCWiIByQ+zTWbx6+4yMpjIz+/5mYd4DSaa X98LcGZOCKPUfaYjpG/Lq5k7yDyUqkPn/QwKPg0KXyH61oT/7A9LmCrPlIadxrOKznt3 zzyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679062194; 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=7soAOZz6NR1eZEWlBBPKzE8Phw744HY/clHBuCipMIQ=; b=j/iG6q19oDiCMz9tHtvf5OEiZzZCsX8dBonMTnk6Ay9jQFLZS3pB9adOPwChy8Tbp3 M3qXtrEBWi3wQG34VF5T+BWgOSfO7Lbl7Sv/RMdToE8h4fzbaTeevDsqr3nTgFD2iBGP dR6Zou/fkXXDA2n2/kivixUOKQb43eQLewD0GS5K9hDa6HkFBNOJQokOUiRJZhrfb7/U GvKyK2uPDpzybcawzJI5BXbQJrnZzee4c7bhSVZoV06LKgX5qaB3HwrTQ/X+hOF2pwnP nBFWQSDIQbBCHPpH4hcgl76rXzXonGytzsfsANHqnXfL8tCUXJA8lj5UKutveHPAOEnJ SA5A== X-Gm-Message-State: AO0yUKXk1RLCGAcx8bg/9SqQa48HRjc+KJogZLdOYvTrai9ckmHLuRiV WS+vRwXWOBJSgVrCfxpvnPo3cA== X-Google-Smtp-Source: AK7set+qN246fWnzI9pdVkkjz8IcefLkz8J54CXZP+n5oPR4V1S/SUbYc3X9+w7bLhhjTLghkaGjmA== X-Received: by 2002:ad4:5962:0:b0:56e:9986:4fa9 with SMTP id eq2-20020ad45962000000b0056e99864fa9mr45763775qvb.7.1679062193817; Fri, 17 Mar 2023 07:09:53 -0700 (PDT) Received: from localhost ([2620:10d:c091:400::5:62db]) by smtp.gmail.com with ESMTPSA id 4-20020a370504000000b007458ae32290sm1693202qkf.128.2023.03.17.07.09.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Mar 2023 07:09:53 -0700 (PDT) Date: Fri, 17 Mar 2023 10:09:52 -0400 From: Johannes Weiner To: Yang Yang Cc: akpm@linux-foundation.org, iamjoonsoo.kim@lge.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, willy@infradead.org Subject: Re: [PATCH linux-next] mm: workingset: simplify the calculation of workingset size Message-ID: <20230317140952.GA153257@cmpxchg.org> References: <20230316143007.GC116016@cmpxchg.org> <20230317015903.16978-1-yang.yang29@zte.com.cn> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230317015903.16978-1-yang.yang29@zte.com.cn> X-Rspam-User: X-Rspamd-Queue-Id: ED0CA20026 X-Rspamd-Server: rspam01 X-Stat-Signature: sid79uid86rxoqustkxnd8dtsuzpi37q X-HE-Tag: 1679062194-902122 X-HE-Meta: U2FsdGVkX19Q/DaGECmnz7QsG8KQIG3VUcEREuwdr7MCEfqwtSVviSB5UQsUkmybSXRDjt4RD8rcO9iemUX7MbQ4dvaEWyYogL7hjzZ7dZ3YPuV86rqnxVJFvVlyhnCrHuJGVPlZL5iQ2/08X0nwLJvrFj/81ynEsXAX2x0mxsmkZ1DvLJmxf6VSeNtbS0CwmB/zUa/akpULJUPFgiFUno8uehQhL6VScgMe6CmRV23uS2D3VwoajaXrSaRm8V3t11Dkf6tVc3Hd1wi6q7HraK+Uc/5hAjtVwRbjM51sHcQBhEbY+BSODMVuEijQwLBF7QouPERI0pgSxxlNxYsiNnBTs7X4o8SRgKOc3G750TILWB+4q5sIFMjEndU54KnZbAriizomsWlrg2sK0DjHShws5P/mNdAXUAG5imitiWqRvkiHEfYvxhXkhn/vhLE9P82D0G3q75+MGcqJ6QQcV+AOjbrJ9d6l5Ks3HblH4Pkp85xjuVjnINOAOuOIp/uUpxVmj8LUmsZpdFkQahMrzoVUbmYHeA9k7vnsAsqOuyCFUgLPa37y/LViQLP2gOwejaO+Ydqjc+Kf6RjjziPnSKJ+x7YjB4IDRZdr20WR1HOmi+ALxZTkFXenNkbO4nIuz6EC5lQgXiCGM3CV6O2nbrPByQyEsJn4Nhzc+dTD14XosYT9T/eSkLeuO/z6W4St9LhSg+6AbXNJz6WHRIqhnMbsRU3KBIusxMaAWNL7Dah1kpaiFM502K6B87mQW3M5u3//WgbncCgZ0edsPPSHMAtQLnjB88V3CDouo5AV6vef70r6n6ETRtuxZjk7LURjeybulUrbU3ELL8O/iQujnkuxwEMi57pHU/VNHBPTS9jvfL2J0UVbMEaU8A/UEHppIMNFz5RfRfbF1fMuSBPNOFhc7aoRrkfscM8v5fgrUg6h+oEdiiOZGpGdo5qDGhw3BgRwLnXGG9QmniRbGN+ XLh+B1cv U54w/sD3Ai2NrbQtc4RH7VaKIBklo0BLdrrhQKNKtA9BEo7sSH8+IzD+9LSwaBphclZUURzgA9UpUY4XgXn+13DjgCyFitbthc9A52pNGAqw+bCZvdXEshHn4fE88lhPWlrEQq3C4DFv5GdIN3iBLTOGXeKe1GuWJ7z1jvKlYqnAa5pXlE+IYH7THM+d4H80qRKGm0Wv2e40s6pjhUi7pRETwkw0AE3isva8sGsfjvsKroKqPu7q4dSU0CJC9rdSZqlXRFbStp0WFkjHUdVDWFTQT4V2Z7Szga+VWL1AuMUbLPvmD8jUuDdZRXuayrrnJv9F9680WlpVGPZMT1F2017PcFLo/K2JHevPnW0fB4gPzwXu5mHgguTFR6iU7RQuaeb8twpSp7g8ZjSUXaS1UZjHZLIkhgOwH3NM+DwAqpUyczK2uJ6FZE9Yp9yJMDzNT258tzwjUMT52Fg8lYFjO9aX9Gxb8CwOvfw3WRiE6S8rvFMo= 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: On Fri, Mar 17, 2023 at 01:59:03AM +0000, Yang Yang wrote: > >On Thu, Mar 16, 2023 at 05:23:05PM +0800, yang.yang29@zte.com.cn wrote: > >> From: Yang Yang > >> > >> After we implemented workingset detection for anonymous LRU[1], > >> the calculation of workingset size is a little complex. Actually there is > >> no need to call mem_cgroup_get_nr_swap_pages() if refault page is > >> anonymous page, since we are doing swapping then should always > >> give pressure to NR_ACTIVE_ANON. > > > > This is false. > > > > (mem_cgroup_)get_nr_swap_pages() returns the *free swap slots*. There > > might be swap, but if it's full, reclaim stops scanning anonymous > > pages altogether. That means that refaults of either type can no > > longer displace existing anonymous pages, only cache. > > I see in this patch "mm: vmscan: enforce inactive:active ratio at the > reclaim root", reclaim will be done in the combined workingset of > different workloads in different cgroups. > > So if current cgroup reach it's swap limit(mem_cgroup_get_nr_swap_pages(memcg) == 0), > but other cgroup still has swap slot, should we allow the refaulting page > to active and give pressure to other cgroup? That's what we do today. The shadow entry remembers the reclaim root, so that refaults can later evaluated at the same level. So, say you have: root - A - A1 `- A2 and A1 and A2 are reclaimed due to a limit in A. The shadow entries of evictions from A1 and A2 will actually refer to A. When they refault later on, the distance is interpreted based on whether A has swap (eviction_lruvec).