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 C749DC4167B for ; Sat, 2 Dec 2023 08:31:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5CD086B030A; Sat, 2 Dec 2023 03:31:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 57D6D6B047A; Sat, 2 Dec 2023 03:31:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 446F06B047F; Sat, 2 Dec 2023 03:31:35 -0500 (EST) 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 3772E6B030A for ; Sat, 2 Dec 2023 03:31:35 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id D52D84010A for ; Sat, 2 Dec 2023 08:31:34 +0000 (UTC) X-FDA: 81521209308.25.E4A38F0 Received: from mail-pg1-f202.google.com (mail-pg1-f202.google.com [209.85.215.202]) by imf07.hostedemail.com (Postfix) with ESMTP id 129614000B for ; Sat, 2 Dec 2023 08:31:32 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=WmIw7jA6; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf07.hostedemail.com: domain of 3Y-tqZQgKCBgG5y8229z4CC492.0CA96BIL-AA8Jy08.CF4@flex--shakeelb.bounces.google.com designates 209.85.215.202 as permitted sender) smtp.mailfrom=3Y-tqZQgKCBgG5y8229z4CC492.0CA96BIL-AA8Jy08.CF4@flex--shakeelb.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701505893; 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=RsUdxN3rEKIxfrBuDtxm58n3Q5/dFJQLUdAs66Hut1M=; b=c8pvrkdX3OnJ9hDFmky7sZz2Vhup95sKn0RT3hvrysntCOIRIXtZfQd54UMmkUpuEX7pAS xPxWBRq0+llUqk8c07AFNw7JhfYOsARFJXuNfo7DD5dJ/EPEIjJrGM6Yn4Fob8DcSPvMbk hiw6GTHef3pQEYLYQkkpJIMtL3xR1mg= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=WmIw7jA6; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf07.hostedemail.com: domain of 3Y-tqZQgKCBgG5y8229z4CC492.0CA96BIL-AA8Jy08.CF4@flex--shakeelb.bounces.google.com designates 209.85.215.202 as permitted sender) smtp.mailfrom=3Y-tqZQgKCBgG5y8229z4CC492.0CA96BIL-AA8Jy08.CF4@flex--shakeelb.bounces.google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701505893; a=rsa-sha256; cv=none; b=uNQODnEJ6rXdQlAc9fvJP2FoI0L/EmsE9en7hbAcM8qe8Sr2mM8A1MH3Jc/AlC5hoZSNMh ovdyH6pdg1/fylLB6cFrcHc/oEtD26NDdxgfZ8aRE7g+EuBdIOML03tD8enykZAwS1p22y mBYhDn7Y/ULdgZDn0A688jaX9p2UwO4= Received: by mail-pg1-f202.google.com with SMTP id 41be03b00d2f7-5c5dd157f5cso1047732a12.0 for ; Sat, 02 Dec 2023 00:31:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701505892; x=1702110692; 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=RsUdxN3rEKIxfrBuDtxm58n3Q5/dFJQLUdAs66Hut1M=; b=WmIw7jA63P0bDggSnmXTXm6yuDaT7AC2wm6zVaECM1jI4vIhKZ+eFx/yZmAX1J13Rm lTWqR/cpl01qDnA0W0g5vgAwlkFaC0rnAkAlpfIKymziY2q42Nxnffse1a5nd2NAyp2U 4724EJFe9LmfBHwEfHKSD1ZpObsNqS+lI78Cu/pfZn+WL3RlGIWK1lyMUGMAWo0KMu+H 2+G9x+JG5SFydSdUOT1D948KS3B3AiWney9M6qWU9zhv6j6v1adKk3yERyyxHshL1f8W tMXyM4SNauaya38e8ZsjNDAEQnZl5gABS2M9E4k4THq6kE1TsN68JYhEXwAKDEOCXg2q z8rQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701505892; x=1702110692; 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=RsUdxN3rEKIxfrBuDtxm58n3Q5/dFJQLUdAs66Hut1M=; b=hFYEEPVmIP9+YjvbCHtN/MsLFx+HrSbacji5Tz/bTmJI7kF4jYMqQ9muz3lSniLy/p MYQ056OnZndWn+iiSMD4h2GgjpO1ZHRLJ9g5yvpJrJBAHKBMcswvoPFtCkKc8kjylcdt 0+CjZ59nJbvcjz+gt2qXiq/18IUxMnZcet9mBQpiGj3S/Xh0/3weY7bRjIp/eY2uVIOd Ghs4/X8ZWyrMy+cSsj27LXHgDwwY67AH0Gzv7xIX88t+zFflGA3H5bGrPaqCkEcehd9/ rFECCOmVurmF4OFVnlLgC5WTLaql/E1vESpeDgQvoEa/uAL6Dk3LKVpjpWvPX6KB7o3Z RegQ== X-Gm-Message-State: AOJu0YydyOpPHw1x4gZfcu79uSYh9bTGQb75+QWxDxHQadVxCqFM+XUK qzxvNRMfnkm12wQY2jwO/A/hUPZ19aCwLQ== X-Google-Smtp-Source: AGHT+IF4f5vUtic/5wEWsO4maQQ3yGnMxcSHVpbovj/TMUbKq4uvbD+NDX7zW2s8EKvkAZHr3JG7LPHRBRuUXQ== X-Received: from shakeelb.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:262e]) (user=shakeelb job=sendgmr) by 2002:a63:d249:0:b0:5bd:408a:5e1f with SMTP id t9-20020a63d249000000b005bd408a5e1fmr4143862pgi.3.1701505891574; Sat, 02 Dec 2023 00:31:31 -0800 (PST) Date: Sat, 2 Dec 2023 08:31:29 +0000 In-Reply-To: <20231129032154.3710765-6-yosryahmed@google.com> Mime-Version: 1.0 References: <20231129032154.3710765-1-yosryahmed@google.com> <20231129032154.3710765-6-yosryahmed@google.com> Message-ID: <20231202083129.3pmds2cddy765szr@google.com> Subject: Re: [mm-unstable v4 5/5] mm: memcg: restore subtree stats flushing 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: 129614000B X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: fi3rbx77exyy6uiad3pgubqup7ygygot X-HE-Tag: 1701505892-310488 X-HE-Meta: U2FsdGVkX1/f0+dE5vJq+G9RcxsJxaPsQSOYQioL+cQ/BoaLgswdrA4dbSYexY16wVTlmPURMVZahITiVJmJHT83BoD1CVvJl8gzRAyUVOoiWSUfdBFPBU2AEqlEXhPGGZP7oAdzAqmhN7feW5rbpveIH9TBv+BJQgNtt8itNXwlYE6KdcG0EymcTfsNN3zkN51Tm8YYPC+SYvTbQknPiDEHC1Pud9gQs1i+D5d3xDWPe5TcAvdA+Uac/I6a1sbWCF6pS8Sk18DbudKfb2xcg4Aat/sHK9Ns3Uraksde0nvvBghXT+MJixpvVtpJpQB5GvpgtvUY4eUNjEz5+Wi4f5nMSVIC2wuVdsjcApi878j0MGgKXO3yP47khkL6Sa1ww4kM5yo5K//se5OK1BO8LDM1rjhCL4x4yIbiJvtHHNCnS0Ks8QPTxMqrZmFZ9tJh+883QRcTnWiOLJDP2CTcfmel1XfSguyOCMu3bsTr63sDy8cCOhd2kVY5C8Yf5eK/fYHML/1sKTu1qKFfWdx8iwlMuGgSij3QHkMSCwA7r/KhsgxktrF4MHc7L2Lj7UmzkZp2ppj8xo/lv7j/AjFJBe/Niozz/tjYv9iiGnZEeVMKxQu3Ntuonyp7Cw5JPvLtclSb5IwvI7kEWPfP982EOm2gktwPbKYi/Cs9c+9/4rZjg3pppAScKYD5lPSZoBMcAlNfcifAJnHwMChjHamMwazGFY/TNo5+MDo5SnDJafZ6U+86/9zEkxmwu/gCBHOwnOud9t3U17VK8ajDR/dEsd2xi0Qe7p2ofvGEYtdkPLKigKtdFwtcbgGnoB2kaEbdkTguV5w/SKiUrNYGHoJSedbU0P58oeYn65R4FSeqG+FXN7uvGhjpQcUNHtjSGc1QlHaIQKZj+BqUYffntp+5Kox+stZfevTLgcsGHn4JYEkJPsIg+uOmChdH4rM89pDT2OLEKLVwRUijUplSCsD I90aMnaF zOn7cf+E+G6VYg8GtK4dVeJFYrrqC7fNIRKlvPRU5aC6PuW623WpRzvpY+IhpowDGTC0xrawPFb17nhadKmGj5nTPgrcwUDnuL82sBrioJFj5CQI0AYbyQlk0+IX4mxim2nmIUiIHxb5hbkF5BPN1owhB+Hanb7VOqxD3mE+xp2LQp8gIwWMaTq+bBlkCmsstYmfa/hoFMiPQNkd9TwVhdxcqnFIm/FMWBKHOGTNtufCH8UZk6LBvqCcf2nOS2QgaeVjaO7Ku36KZ22rnAUGChL3jaIBBV4nlsnI4vgY+1cJY9imsFeAOm0Jt3taeE1TNGSvC+31vmJ+t/aKwt1JwLeYtmwvOBCQ1cKkyrNNn2wpAsgDborr0eK7BEbIjyhZOaHxjZUqfMa6UmA+FJVPrbEMNRqTcdnkVZjhgfZDmHB+TxFl8qt8uN3fb7CmytRwZwiKS+DCHrZ2CbJtRDPRrHHUxlOPyRNpYcSjWcAJ/VxiF3du00kSWI7vRkehaaJz9pWrytnpVl65xHyp3ab5SLv6ziIMcMLGrY0xV+m2ZxgIt4Iba8n971W8EAz0cb6FMLUmaTQCyjdMkG0iBF/UnWJ0F5ymIG4pjXucV X-Bogosity: Ham, tests=bogofilter, spamicity=0.018058, 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:53AM +0000, Yosry Ahmed wrote: [...] > +void mem_cgroup_flush_stats(struct mem_cgroup *memcg) > { > - if (memcg_should_flush_stats(root_mem_cgroup)) > - do_flush_stats(); > + static DEFINE_MUTEX(memcg_stats_flush_mutex); > + > + if (mem_cgroup_disabled()) > + return; > + > + if (!memcg) > + memcg = root_mem_cgroup; > + > + if (memcg_should_flush_stats(memcg)) { > + mutex_lock(&memcg_stats_flush_mutex); What's the point of this mutex now? What is it providing? I understand we can not try_lock here due to targeted flushing. Why not just let the global rstat serialize the flushes? Actually this mutex can cause latency hiccups as the mutex owner can get resched during flush and then no one can flush for a potentially long time. > + /* Check again after locking, another flush may have occurred */ > + if (memcg_should_flush_stats(memcg)) > + do_flush_stats(memcg); > + mutex_unlock(&memcg_stats_flush_mutex); > + } > }