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 D5BCCC4167B for ; Sat, 2 Dec 2023 08:07:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 56A478D0085; Sat, 2 Dec 2023 03:07:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 51A518D007C; Sat, 2 Dec 2023 03:07:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3E2108D0085; Sat, 2 Dec 2023 03:07:23 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 2BAB48D007C for ; Sat, 2 Dec 2023 03:07:23 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 021E7140108 for ; Sat, 2 Dec 2023 08:07:22 +0000 (UTC) X-FDA: 81521148366.11.79BEA5B Received: from mail-pf1-f202.google.com (mail-pf1-f202.google.com [209.85.210.202]) by imf27.hostedemail.com (Postfix) with ESMTP id 3ADF440005 for ; Sat, 2 Dec 2023 08:07:20 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=p9E8F1W5; spf=pass (imf27.hostedemail.com: domain of 3t-VqZQgKCGAQF8ICCJ9EMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--shakeelb.bounces.google.com designates 209.85.210.202 as permitted sender) smtp.mailfrom=3t-VqZQgKCGAQF8ICCJ9EMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--shakeelb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701504441; 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=F4H7ix0GwWOKnKT1fbRv5Z46mxtqVFyhAaxH7ZBfa1E=; b=fH3jxOZHqvCvYcsE5OFb4ki7HIdkn+9G99cSOVW3tdz9lQ0rgk1EVF2xZkEdzM7VUX5lEE qnOY5bEAZ800wNzlgCVc3wJE2ECC2BlRPtc63p2VEGjINm2GUAUh+9pt4LkMHFor0/yR6S xzUm9KM+Qn+mp0CoEwX2PfN6xO9/Xyg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701504441; a=rsa-sha256; cv=none; b=EtAeNB3odYhIb7DL4sf4A+XFT40Sk4xhmXUAEovvFLE0wWQTdPt/42jiocaRQ8cYJMSIXs qrnFp8+mvAEzAzfAP/Rt8gh/GskimE0WSjxKcLbvIny0GdXg95Ar5qxF+K8L9q1eTAib8F CDeGO+xqbIJIslCYhBa0p66vp0R0kkE= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=p9E8F1W5; spf=pass (imf27.hostedemail.com: domain of 3t-VqZQgKCGAQF8ICCJ9EMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--shakeelb.bounces.google.com designates 209.85.210.202 as permitted sender) smtp.mailfrom=3t-VqZQgKCGAQF8ICCJ9EMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--shakeelb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-pf1-f202.google.com with SMTP id d2e1a72fcca58-6c334d2fd4cso3539549b3a.2 for ; Sat, 02 Dec 2023 00:07:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701504440; x=1702109240; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=F4H7ix0GwWOKnKT1fbRv5Z46mxtqVFyhAaxH7ZBfa1E=; b=p9E8F1W5M/u2w45DwTspFvAPiOXeJhP6NpI2n2k+pKHnkbKOltmnvopKnFwlyxik+V /scmhPmoMg+n6gBWtKPL4xSb02j+J8spqQoGvuRQCujgf87a4q1PeZ1lysOULS5iq1Z7 3o8TlfUemsR2VE17GKfolH+1fP8paEJ4QhvxBrExr6cx8imnV/NYk0giS6eJyodiW56q ll0fWYtzWPz6zRT0VQCWsrIK7cgIIT9IdVcTzZpFrOkiBR2B8ieW84x14W0AnboAMfdJ NuSKljUBW7kgreTi37CIuFrG7BS29JlFze5gz4WalzVrQvgRijSgv8jIFuhtyBnkbFxP FpYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701504440; x=1702109240; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=F4H7ix0GwWOKnKT1fbRv5Z46mxtqVFyhAaxH7ZBfa1E=; b=FUeyAxm6q3rvt2+RZkr6FPDTca4vTOuIV/TzPBkl44cKC4AGF6znT4b9jDWotozXI4 ZCQ7lMhqCDiBmmJVff4H02EMdRJ8+BOFm6VBpgjHt6bw328StknnaEU0pndE0ofp56Te hKc2rJK8LRKPCvnmdxU1Laipdc8JoCVhycJSE4yq1jsl4rzB5FheIG7bUWqVDgdGRyV+ GNxrw2URwh7P/vADkTmrUAeXHn1p9glUM8Pon9gyGlNxD0T8gbDTDIFR90UlQk4doxFf OrHUJ8hbO+KI+t/urJYg97qsvOZgK0PZDqQMSwg9DAXTO5ybGgJBpiZJkG+ka97nZopq wBZg== X-Gm-Message-State: AOJu0Yzq9fo7aG4FguUBQ3PVZMbnK02rkYyTdTzYzoecOyf8YR4wLQJj nTneovCBMswwfS3q/UMPl2BHg1CZabgi3A== X-Google-Smtp-Source: AGHT+IG2eYR6XCK75HIwvJKDXYxZCz40j886qrZkIZ8OMvd/IHm4nrH6JYuAPk74Uv56De/DVsgtHOrY69VO2A== X-Received: from shakeelb.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:262e]) (user=shakeelb job=sendgmr) by 2002:a17:902:f801:b0:1d0:5cf0:8ab6 with SMTP id ix1-20020a170902f80100b001d05cf08ab6mr356679plb.10.1701504439521; Sat, 02 Dec 2023 00:07:19 -0800 (PST) Date: Sat, 2 Dec 2023 08:07:17 +0000 In-Reply-To: <20231129032154.3710765-5-yosryahmed@google.com> Mime-Version: 1.0 References: <20231129032154.3710765-1-yosryahmed@google.com> <20231129032154.3710765-5-yosryahmed@google.com> Message-ID: <20231202080717.ykhhu7fvryarphmi@google.com> Subject: Re: [mm-unstable v4 4/5] mm: workingset: move the stats flush into workingset_test_recent() From: Shakeel Butt To: Yosry Ahmed Cc: Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Ivan Babrou , Tejun Heo , "Michal =?utf-8?Q?Koutn=C3=BD?=" , Waiman Long , kernel-team@cloudflare.com, Wei Xu , Greg Thelen , Domenico Cerasuolo , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="us-ascii" X-Rspamd-Queue-Id: 3ADF440005 X-Rspam-User: X-Stat-Signature: y6xyfimpnztxyr5746cerwdkgjhskuwk X-Rspamd-Server: rspam03 X-HE-Tag: 1701504440-34645 X-HE-Meta: U2FsdGVkX1+a611ugt1jrum0gOVlvrCkw81CBACN3Fv7qDpSipkGUhLCCkBQ8bkmx+7K96mnM141L6U9g0L3fPtr9Ye6rOCMFqTsBLtMx0BzsuH83v37sUPYoTk0QCCgE6lMOHGCR9vDcTSvUQPDlfzH6MPNIpgSNeY8KQnt0zBGY5HLDvcgJF7NFgQZ84znSbmMrJiBan7H1Wol1nmURh5XUAHb4w6/8XI+rMqF+mjEwGeM7it23sFBPJvjMdaVL2C2RRJWa/GeyI56mRzmQEIoXqdN7PksUCsl9e/mNMSGAfnyq8rrazLTL/0WUnHfn34n4O4YwS9WJhVaBqOVGZdWAf9DZKnSzdLOhAsTvFmVHJdT/81ocHqIEMnLOY6nz2YyKr6PeqWe/pe7TYW8J+AR8gVxTOwQZc9fZT4Z7AFTZMIxNEWbEla5m/5PjlLa/tBdarUCxRycHOjmPLFoxgf8mghpF5PFIxoEQ+mwjLV+NKR4upTsceN0s6bM65+JUGwObkt7odOKUZmKmSVE/M/3nAD3qxtdTJW+ftIcUZP3WZbcCEoe2vWjswvN6M7Jtq86hQxMgSGafiPeHENgSvk/xJUZmWr6cS8wudMRlcVPvXGD0rnuGLLMcoXWfyGP4RClIWoC00KFqyBKVIzLpfD6N/eBg77a0tEgUcR/T/aUZV4G8ngcvdsTcyC88CifTH2VXC/6Dw+/dQ4KtyU+Sld7K6EiavmS5upKYbr/zgegCI7v9AJhXIGiW8DwfI29i+L7FV9Rh/AqGZdJf0GVoTVwyAxcwbobo66JaFu6lTnfzO2ttWN86p4ZrCGBLZUsbcuANIRYY5JYw0WstVTC7sXOR2/2QFs9ib+bzBn3/Lnj1RlXpOtABW6diPHgSSK57p0zNg3qlQQAyAZeWQlvYrMsiFQGcCykCSDmV2GWijqn2dT8GsIcaI+THGLouowFa2/YI5sOECDXLnVaAVe QQJ5iLfN fh2O5RQmtcgkggl8oEzZj0FJ+ZYBwb3pqNwEHGr+ZEnIiRTnyC1L3+OaSZKdPWCEbL7NACAEE3h7wQLANE8oUuyQfAXsKh7CkA6GTGE2OBHHchDOKF/vv65E3oy5XKVa8yWWqRuzFqKbdzHaVofu59DWKmNf7ckrOiVtlvzXHNnd75hnMUy2yF+n2jN6hbk6YbJkby1O1lHIb1rJWyXqLPT/ayc5tuFFo4qq20YXAAh4FbOwfC5T8TRoHN5DHNZOZBoCn8KO0mA3+3OyWWuRMpHpQIme/dXNy3k80UrW8TswFoW3n4/HdEuXp5HQ8LulRLvwaiN6z/vhUL40R7LZJKjemetTpudjA6iQSmc+A655qFVHYQJpU/b/ivXvZ2FjPVQ/3bXbYBloqBZHf5Kh8YyAWRRV/Gckki/QJzq6Xsq67RXv+/+RF2GE0dMWHOkm66q2G96T7MCHHRiZKFeJsQqhEsY3W3mBAYRk32zN9k6poPTvHdK8xmDea0oud/KFTguUI3U0Cpc2ekHKSHCLD5xP/S2UsCopWG4Vk2isSbY/4ftU2nSz5pQ54wMahvxEUykNpHewb4kTQDeAarcn6XYhECGhme8CmEdeLFklUKxn7+bwueP8Oy07Gzcv28rMOnBvA5FkU1VzSbQtrevn8q75QU8SI7x0PG7XMkppj/LUOfgmZJhKfXGMz5Dh8MyBgfUKo X-Bogosity: Ham, tests=bogofilter, spamicity=0.000264, 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, Nov 29, 2023 at 03:21:52AM +0000, Yosry Ahmed wrote: > The workingset code flushes the stats in workingset_refault() to get > accurate stats of the eviction memcg. In preparation for more scoped > flushed and passing the eviction memcg to the flush call, move the call > to workingset_test_recent() where we have a pointer to the eviction > memcg. > > The flush call is sleepable, and cannot be made in an rcu read section. > Hence, minimize the rcu read section by also moving it into > workingset_test_recent(). Furthermore, instead of holding the rcu read > lock throughout workingset_test_recent(), only hold it briefly to get a > ref on the eviction memcg. This allows us to make the flush call after > we get the eviction memcg. > > As for workingset_refault(), nothing else there appears to be protected > by rcu. The memcg of the faulted folio (which is not necessarily the > same as the eviction memcg) is protected by the folio lock, which is > held from all callsites. Add a VM_BUG_ON() to make sure this doesn't > change from under us. > > No functional change intended. > > Signed-off-by: Yosry Ahmed > Tested-by: Domenico Cerasuolo Acked-by: Shakeel Butt