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 5EA9AE75455 for ; Tue, 3 Oct 2023 13:13:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E6ACC6B0116; Tue, 3 Oct 2023 09:13:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E1A976B011F; Tue, 3 Oct 2023 09:13:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CE1D76B0150; Tue, 3 Oct 2023 09:13:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id BC00B6B0116 for ; Tue, 3 Oct 2023 09:13:17 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 7F6F340307 for ; Tue, 3 Oct 2023 13:13:17 +0000 (UTC) X-FDA: 81304191234.16.27409BB Received: from mail-ot1-f50.google.com (mail-ot1-f50.google.com [209.85.210.50]) by imf29.hostedemail.com (Postfix) with ESMTP id 435B112004E for ; Tue, 3 Oct 2023 13:13:11 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=DxXSrfPY; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf29.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.210.50 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=1696338791; 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=qngHVrILvNeCSm/s79v1hXPA4srlr06zsPatTFbmIhg=; b=b7Sn+2re31YM4MZ1m6ITXiNPE0FtBrAkO/tverqOrDvTfgCbBWIJO+npzKhe5b5Or5i/q8 2uZdEjiG9CYq5hS0D+Kk4cb1IuI3pMF+3aH9DtbenQSGGVDPOpjVIJ6V0TlbUdpfS+h87G ylRxgWEWS69I0i6eQqaluqBb6oKFgug= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=DxXSrfPY; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf29.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.210.50 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696338791; a=rsa-sha256; cv=none; b=XP4wmmUZg1ygDL4tBXAjCiY4HTfT8UFtsj4Avgf0w8THkfUjSTElUmD1MQZu/jXFjIPIcW RHg8e6HRRSb4vS38tzHjVq/YHml+D4U5mtgEBNnfMP6zJfcGHBkBQC03tnnZfsBQ9YMK2g qkj6CV9Nbb/TazqCmhZt7CSAUIIbZis= Received: by mail-ot1-f50.google.com with SMTP id 46e09a7af769-6c4e38483d2so612179a34.1 for ; Tue, 03 Oct 2023 06:13:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1696338790; x=1696943590; 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=qngHVrILvNeCSm/s79v1hXPA4srlr06zsPatTFbmIhg=; b=DxXSrfPYWuwIoRtQLpXeeBJkfpCHhFFzNwKl5lcuD2raLUXyhW6Uc/KDH9djuOSZRY Ufdc44UaB3O3yiDiJ/KHG55EcbAsF8tROqLmV/LOiLbGEJLgNirT8/3rFBadr/1diCd4 K+5d/VxEP3b8EzaLHpjtR1XZ5Xo0k/fZqHTk5lrm3xzf6QIVFSEBiAd/eIRkCu1QMm0/ NjMMN+tppTh4xO76bT0L4HIYlAaDIXT9BRi8j4uUFwWp3shWYtH+JOCI9urEiTTQQxA9 BNCDLxpwEQyhkGe0z4jsS4RHDj2goXwcZ0Z+bNr3NCuU18qeq11W1xAIiQKob1HPNpsY CC0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696338790; x=1696943590; 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=qngHVrILvNeCSm/s79v1hXPA4srlr06zsPatTFbmIhg=; b=O7fKrbko1bpNsxU8YFxb22NYJDjYcovlRcPhhlKHVKVUjRr6OIfttyGSzBV5b8GcHB LM5cCxM80cMM1w2d706ys5a2J2fom5vaqAYqCD0l6xPWo4agSimsPh+zPQPZ0xiyJ0bX qBVkieeA76aq9rYKYbBC5bF3hvDLDvCcJVsBn6sGA3+gCPS3wZ6abD03YU4udHQi0dM3 KHDnD5BDlmt9DlhjKwkzg7Jz9Xn4apARETMTI+UMg2Zay8NMWSYMa9O+TZg7mk/C0EVO kONaH22i1Gv1WNzrc+JX2NznejmODTNiitNBbKD7cgLIBD2b2OBReng9krZcPqYJYliq hv4A== X-Gm-Message-State: AOJu0YzmS3vpj9znaC4WKnp/zFbp5apCGH+9x7GCC4jv4g2w8a8ZpwTv MOAqgBthQHBTdDfqOMP0qz2iVA== X-Google-Smtp-Source: AGHT+IGZa47bNwbD2O9N2xm+OcLA8zN+h0X/kwuWCtsg+xTV228gW+PB93NcRH/Aro1283tpnCWNew== X-Received: by 2002:a54:4899:0:b0:3a7:f650:af9b with SMTP id r25-20020a544899000000b003a7f650af9bmr15578226oic.55.1696338790195; Tue, 03 Oct 2023 06:13:10 -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 v4-20020a0c8e04000000b0065afd35c762sm469236qvb.91.2023.10.03.06.13.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Oct 2023 06:13:09 -0700 (PDT) Date: Tue, 3 Oct 2023 09:13:09 -0400 From: Johannes Weiner To: Yosry Ahmed Cc: Andrew Morton , Shakeel Butt , Michal Hocko , Roman Gushchin , Muchun Song , Michal =?iso-8859-1?Q?Koutn=FD?= , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 2/2] mm: memcg: normalize the value passed into memcg_rstat_updated() Message-ID: <20231003131309.GD17012@cmpxchg.org> References: <20230922175741.635002-1-yosryahmed@google.com> <20230922175741.635002-3-yosryahmed@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230922175741.635002-3-yosryahmed@google.com> X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 435B112004E X-Stat-Signature: 7rbqqsda35nsb3uen9p1y7tap16kank6 X-HE-Tag: 1696338791-454430 X-HE-Meta: U2FsdGVkX1+UF7hAaMiIvQq0aUVeVn4kFdL8LhjV1HTGQdwLuowrqklCtEVW1WIiphD6jBatN5Fetb8p2kxx2151gHzQjZw+d4fQmkfJIBi3y1DZwZGfH5lG8x42t2PtuUguY9UJ0k+ayCIP7LZ/b85+XaWz1EJZeXzgMrIuB917UuzIr9RWCZK5QZDomUeWvC5KpLWqh1Hh2jtEi89/oYsHXjWp5YG43YlijCkd7u2tqTM/hJu25ixvEzbbCNvsJZBZAJQE3unEmodtK1vLsLzezAW5S0B+8h26HBGAe6pAe33ryVM+q6g7JwKFCssvPgq6blx66Uz4y7cQB91rJB4pEmX6iG9M3/OhTFmwyMZlWkjjpPVXaEWa/iilV2DKrrrcR/W0JiAk9GEX6t2ziURWjMt7MMQL9fTlZRy1LANCRjHpOfF/93YEoWkKNP4lTEue5jMtvYgPVAaGqHb6CZ4ZZnKJcKSHV41pxkngQB5oWw351jYrx1MDYGyeBRjAuJGzQmuE5DQtMtmF9GuBO0wHRDtR/jdf3Ji83BBktgC00YK64K/7Por+y+bC17pkQTbEpj+E1RMkPe8+sUM6N316bBFKVVolBlUh1fQ2aRjmqSd9D+KLFoAJCwwI79w9bNTV8AcxVLYyf0GmkX7LAfJAChxnsYbo9SNYJS/6sOii+zCU/rMIuBfSsKAtj4p7he0on1ujqRUxcSTYr0oFJmURHaJCWM1jr+N+NjGk0+dXTKSWVhM2cSOtWUqPoYm/5fMwc+FTe49jJFpSbh9NTexNvYB0SFF6acPFD6ah9Z0UkhjAje+OPeP64jt2Ge+//p4CTcrEGIRcfNOvdFU5Ep/FlhDX/81CppUSE78Ey/BpkH5rsfdd4gHlXTVDu/yaDfJOIhqwaHt0ywdY4EnUZk37sH+WA/0cxE+/Uyu7Xq59o2pOa8S1DxuFxwGSnSTRgmkxwRaDhU3FiMYg+aW H9fGUuG3 wCSsvO7vleze5I55IVqQ1UWADNvGaS+Yb/g1RSEoMOGX0ln8RL7vF4N53PHYRz9UtWSoTw5jGfFJG24QnTuWZdb8hNjSwEF//gQ4nEwGLwWiQCyUPnoQnF3v1MvfL2CM/HaP13COefTNQLR4135FV7LWE0LZ9iZlGe/7Iyk9lUtvmOAA4q+clPeFp/OW7l+F4rVJnipxnstG9H6w2EJCQ6D2A/DdOiY/9pgsL7xcZQv6HDlEvAT55PkPN9WLtj2eSDsICGZtxyCWaVMIsq+ekYLKbnuT6NIx5+1CMoEhI2sf5gLemkcQJvYEloBqsM82mGLrTaJE3gR8sWdXHTOTRQZYgI1JuxU4s4u3MHhzo0kx5FMbZm2YMWdcxo7dXBa/rBVee3WCtBijQ/FBmjL5BiouxELiF6Xm4GIvOHLc/IsR7zvZFVyEMLG2xOis1Il2dg9vTS1fAUnWUBgOdpOwO0umG6xQQJ2o3J29kSzmP4w9w/hSLprHG9x4L4nNTfpvL5NjP2JiZVIG15Gk= 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, Sep 22, 2023 at 05:57:40PM +0000, Yosry Ahmed wrote: > memcg_rstat_updated() uses the value of the state update to keep track > of the magnitude of pending updates, so that we only do a stats flush > when it's worth the work. Most values passed into memcg_rstat_updated() > are in pages, however, a few of them are actually in bytes or KBs. > > To put this into perspective, a 512 byte slab allocation today would > look the same as allocating 512 pages. This may result in premature > flushes, which means unnecessary work and latency. Yikes. I'm somewhat less concerned about the performance as I am about the variance in flushing cost that could be quite difficult to pinpoint. IMO this is a correctness fix and a code cleanup, not a performance thing. > Normalize all the state values passed into memcg_rstat_updated() to > pages. Round up non-zero sub-page to 1 page, because > memcg_rstat_updated() ignores 0 page updates. > > Fixes: 5b3be698a872 ("memcg: better bounds on the memcg stats updates") > Signed-off-by: Yosry Ahmed Acked-by: Johannes Weiner