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 E457CC47DB3 for ; Thu, 18 Jan 2024 18:42:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 78B7F6B00AE; Thu, 18 Jan 2024 13:42:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 73B7A6B00AF; Thu, 18 Jan 2024 13:42:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 62A926B00B0; Thu, 18 Jan 2024 13:42:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 51C5B6B00AE for ; Thu, 18 Jan 2024 13:42:41 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 25A9D140E5E for ; Thu, 18 Jan 2024 18:42:41 +0000 (UTC) X-FDA: 81693302922.27.257D09F Received: from mail-yw1-f202.google.com (mail-yw1-f202.google.com [209.85.128.202]) by imf09.hostedemail.com (Postfix) with ESMTP id 79A4014002E for ; Thu, 18 Jan 2024 18:42:39 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=qrLiex+2; spf=pass (imf09.hostedemail.com: domain of 3HnGpZQgKCNkNC5F99G6BJJBG9.7JHGDIPS-HHFQ57F.JMB@flex--shakeelb.bounces.google.com designates 209.85.128.202 as permitted sender) smtp.mailfrom=3HnGpZQgKCNkNC5F99G6BJJBG9.7JHGDIPS-HHFQ57F.JMB@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=1705603359; 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: references:dkim-signature; bh=8yx3MHixu6Yr8K4Tg1W1xt8jDb7qQNzMKngP58qnPGU=; b=gRLYTd3abyLD+ILCCFqTLmcATWW7BP+eN4e4QrkBEgYXCVIyZtAv9G/wSDOlRXuyGplgXL PbgYUIGLBJ2LgdX7AgJQXfZdIYeZjUSg1SoM9MNt08oMU6UkMurB1LgkyhAerw14mYBATp KQfEPmG05b5k2ceMP9aFIuZaaxZb558= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705603359; a=rsa-sha256; cv=none; b=InvxXM4rXhVo+c/3VK7vawtG0G/E74Tvuk74RYeAkSBPLF15uiq2LfVgEasJIVAO49VfNx RtS4bNGYCekwGZYtkMFs6gEGn4PX7NmLcYqExXN+C0Qn+JQ/BjilDkJBN5FQ34hnqpcrw6 VOdK4IHyUSNoU5maXr/vrUancGtFJnY= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=qrLiex+2; spf=pass (imf09.hostedemail.com: domain of 3HnGpZQgKCNkNC5F99G6BJJBG9.7JHGDIPS-HHFQ57F.JMB@flex--shakeelb.bounces.google.com designates 209.85.128.202 as permitted sender) smtp.mailfrom=3HnGpZQgKCNkNC5F99G6BJJBG9.7JHGDIPS-HHFQ57F.JMB@flex--shakeelb.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-yw1-f202.google.com with SMTP id 00721157ae682-5ff481be48cso71088137b3.1 for ; Thu, 18 Jan 2024 10:42:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1705603358; x=1706208158; darn=kvack.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=8yx3MHixu6Yr8K4Tg1W1xt8jDb7qQNzMKngP58qnPGU=; b=qrLiex+25oJLy0hzNsp55RaLvLEzCV7GkuQBc06PbkO/3NrCEn7qlQoYbkmZzXvRWT LYffn4c77zCxImhCHJn4eM7AHw/1HiTB3JvR7DLlm59ixMLwO+eJBvooZIm2F6lvOy41 R4yOUeuzK/hOoHWNyqv4oQX6qitA7CnWD2ZbNyBU/XCBUEbQbK+oJTz4hiD7vPqIbwgs 2EYneIvKWVgTvwL4f30IngNyroSPagpJPM615ZjAlY6bqxR7U67m2KDQ8oWrZ5gfJicr hMCmgOuJfiaq6bN98zCVip6tcx9uSJapKVcf17tJzr6LSXKA1YADNBYSoq1ytXWyLj5d 2zcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705603358; x=1706208158; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=8yx3MHixu6Yr8K4Tg1W1xt8jDb7qQNzMKngP58qnPGU=; b=OLLx/BXWtxrX40uatgEzWZwbCHSKg7H+T7jQrMkrnF8xEJj9w4nZqIfVr7hPxpUHDK bjhEgYBq6FcSB6b8uu0f1uVIECAn+AgYc8QQStONCFo1DhIYDTBoblaSic6MK6b6LwRO WXGHV6zuAVgwosqEKHz4ryST2378N/lVNCXqGGeEswWVwDjv+kwBqsI3fjNNfvll/Y4x f7HVNZwazUGWjZI9Sf3sF5d+K6INkPtEtCNnGdmc/9NZuIMvyC9d+y4uqvVB4WXPFTSZ 0GtI8ygdxc/8nwScNSuFgIU+3Xla9NPyoQerDRNMXIFfwFLqWlaHhS2tVp30WNmpU5wm JoWA== X-Gm-Message-State: AOJu0Yyz3chRDpTxE53d8LCjIFp4fCIVvTrWVjMhyXcBSsIcN7UD1LrP ExcRwi0qzhofyJPsB/8QE86AoJPpd5YFsIMo8lMAvducCddNhN/M9duD7lz9qLMeFBJA5oCjZ/g /SyiP74yr/w== X-Google-Smtp-Source: AGHT+IEiDX57atHRS7CWMR0FbSJ0cy4u58/JtLsH5ArVXLFG4dxXZERL658Remh0yZ2IAtpTFDXOqk/HVtek6w== X-Received: from shakeelb.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:262e]) (user=shakeelb job=sendgmr) by 2002:a81:98d4:0:b0:5e3:fb36:ccb3 with SMTP id p203-20020a8198d4000000b005e3fb36ccb3mr584697ywg.3.1705603358687; Thu, 18 Jan 2024 10:42:38 -0800 (PST) Date: Thu, 18 Jan 2024 18:42:35 +0000 Mime-Version: 1.0 X-Mailer: git-send-email 2.43.0.429.g432eaa2c6b-goog Message-ID: <20240118184235.618164-1-shakeelb@google.com> Subject: [PATCH] mm: writeback: ratelimit stat flush from mem_cgroup_wb_stats From: Shakeel Butt To: Andrew Morton , Jens Axboe , Johannes Weiner , Tejun Heo Cc: Jan Kara , Roman Gushchin , Michal Hocko , Muchun Song , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Shakeel Butt Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: wbd4sproyk8km85g51mhzsaj1b46zxxd X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 79A4014002E X-Rspam-User: X-HE-Tag: 1705603359-879633 X-HE-Meta: U2FsdGVkX1+yVfn46JGeEgVqA1oyfX8lHpEvkmULSdyroPjKcpMjzK5P/+urR8fvc+tfCdTZVDHKdbr4B5gXmnNereHJFFG6ADkA2zCsLNnfDMfuQuqnHLPsRK0MAD4Davvq2HZBoGQ3j9uMHcBrHNVxelnetCl2h9sa3S6fPTXhFeaRieOhbsHwbZu2Sa7XQrF6hpi4KDW++1p/SJaIHYI1h3cOuBAp5SvYHuaMgrDRFrBUEZNly1Ct7PENcPzqJZclChvtFMggEn1M4DBMXUsAModtFBxhg/EZsYs/UP0KdBPHjtc2Ru0GGLD9/qoC11MXHC9QFj+XzGdotuKGlRtbyL9QfNVd9rF16MJOGZqltO1xf8IbrBVwVN3utlyKK9xQhLh+ZxrfENTHI6ltaTihnH/7ggjCNtA9RiT+T8Wq0sy4bE5NpatwCPeUIsHQr3v3TuhgLF7O2wpjmbDUFcu1tNwI7AVHqOJaEUKL7HqAnZpyRjeQg9eWoaOI2IrPgCuBf7LcVCtlMs1wNhfHh1xwEGgyYJqgd29pNtwP5TF9OmDeVLqYRROE3+AiwtYMYa2plYVvgNFk07ONNj72Txx44gjbW7hBNtuWpnS1FsHrEIt0KHTijVHiqyEtOUK3muWJyoAVIJS7hZIszR7Hvb3pD41UY0JGiL/gN2g85ZmT5A3GxYxgfdBAZOnhyPAnpMrmHkOUXIkhQSXdJkRFjTTRt0DIBglHpS6iRPqPiRvtrqsIG7UpO6YUmD9xnsXEVW8dY+PQQTVStd3r68OZcpXXwdZsSmFoNbP9eUySvYSGEop/TDp5/WaKaCkWSIwTe7M9Nu0MeglcJzvgZhD3lih6Z/WIP6JYhznk2TrZIluBDcn2juYpMES8qHu3fWspPIvR9eoUw0XlUqAlgItbxgh8xArUvvBkwMmIW0qVTZHXNkG/mEINpLz88VTOmRiWyH4wdMc2RNINLwGmh4F yHR6F/hG 8H6z7MJOLyLZTcyVHLDJ6FiLNvP4TQuMDwZnBenIjPvlXPtO4jhgP7lhaQeXjgsYWArJU/wmgtvnutcEcTXyZc3D9zqUPgicjssDmSxVvEL06K0ICoKOGDdb9nMVPvNYcmh4S3/51Kt6SZZraZYVK0dIm/hIvzQ3UKzAtA3hnUn3o/DlH6fvXyhZjq6md9yMvpBzjGae2I2FWMW7ozOPYwjb8DihywAaidoDOO7RE33w60T5U9C/yOCuI8UaWvIQzU8/NeeVRYLsX/HOXDY0CYWCzAsoRvf1+iBMlmjvi+qwhcck9fsHOXMFegpM59hWOoxgC43VU3uo1adao0BOuvA/eZEVqU10X3YfdsB4MxCP4KM9zPI8ILpsdnsRQgK4nQDb/iM3hXC0AnsyI6NtsH8KYQk9sPYd8mzYIJnibvJHVywEOTZhIhsHw0q+M/3DynPDKDNUwFnIxLAWHVNFTbnF4MHr5KhNzejYfozM3XzqTTV8WEbcvvC9UMffXWb7I0xxwOE03bxmKTbXs6P956q/a+WHh00orYEOdkjQsABoiPcZy1EWP2F671BGoxAJ4bV3wGxsZBsCdPKVGQ6jAZkLmatAsaONK8LpZZDPFWb+MvCHpV5DGfEhsoGD+0uR1XAhOBOzOxIyAc15uaNa3sD9hJYHhIgdBpkjB 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: List-Subscribe: List-Unsubscribe: One of our workloads (Postgres 14) has regressed when migrated from 5.10 to 6.1 upstream kernel. The regression can be reproduced by sysbench's oltp_write_only benchmark. It seems like the always on rstat flush in mem_cgroup_wb_stats() is causing the regression. So, rate limit that specific rstat flush. One potential consequence would be the dirty throttling might be decided on stale memcg stats. However from our benchmarks and production traffic we have not observed any change in the dirty throttling behavior of the application. Signed-off-by: Shakeel Butt --- mm/memcontrol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 935f48c4d399..2474c8382e6f 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -4776,7 +4776,7 @@ void mem_cgroup_wb_stats(struct bdi_writeback *wb, unsigned long *pfilepages, struct mem_cgroup *memcg = mem_cgroup_from_css(wb->memcg_css); struct mem_cgroup *parent; - mem_cgroup_flush_stats(memcg); + mem_cgroup_flush_stats_ratelimited(memcg); *pdirty = memcg_page_state(memcg, NR_FILE_DIRTY); *pwriteback = memcg_page_state(memcg, NR_WRITEBACK); -- 2.43.0.429.g432eaa2c6b-goog