From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E223B245005 for ; Fri, 23 Jan 2026 15:01:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769180488; cv=none; b=WRsrVOwXk3yQX588eYFoGBNsOyCUDTvy1oWMgVi/at1AgIB+hL/sEvK9Ec2Meqv45MCelmATH5zvY6ZHhsPOQklJHzrQicEEkEBLGrMn14kZUOARMCDqjLALQYW2j8LQVVRVlLw9qPYdCTIgN78U1Zbzr0+47wfYRsV6d6HprHI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769180488; c=relaxed/simple; bh=l65vAWfIchAA4EBaJeuPIIcy/0bQu1TDjnafKhOcHBI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O7E40QWw5vL+mfvCsjs6yU4wNywbhH6ftuD3iw99DE0wokSPeudQWaa8JM8MVWgA+figp4nWfzvkgvTFnTGgJiDodW1Ek5w1lwm0KA4KYbOHBgph/mCMgdkryVWkZuFQd5QLBKECLcvt3KIz1W3A0DnAWVd76pQDqtxmGssGj3I= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QEJnt3IQ; arc=none smtp.client-ip=209.85.214.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QEJnt3IQ" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2a7d98c1879so11420295ad.3 for ; Fri, 23 Jan 2026 07:01:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769180486; x=1769785286; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=K+lpncMkcciaETgIgCV8/VHPr8GktIzZ/P9zCkM2a1o=; b=QEJnt3IQL7Wzcs8ZQHYO3K7KtBiCwxylId/nAzGWAdgU3avQxiZ4t6ZeURwoIgTkp4 Lz6V7jBOOtLO47VxirGWm9VtdWHM6bgCKhQSLUhgKxnJ8Zv+o71/DwT+C8kLdjeS8sOw 5IajRFgUfw5ONBDeECmceHcqTZJjVjTT3OCz41MJE5u2676SdcUMoqPZ8UljNIN0YcWq 10zKuMwsmWKN71h2GVOqqcdbml/i77CwsucQxVAKXMC4GUPRWzn07EQUBg7oLhCmw/iN kq1C0bQPlE7Dt+aa2uy9OKv4Xa0fsBIhuldbNNnqiMKAsruCkeNTyvWIQ3MiIyTH8wJk jpmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769180486; x=1769785286; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=K+lpncMkcciaETgIgCV8/VHPr8GktIzZ/P9zCkM2a1o=; b=bYKM6pikPIQf8db/NisD2mcOz3I5oKORgjGZMdk8KQkOhfsG1rX/qJCweO6QDgqmB4 mHKxiVVi0HoNgFMHpbYYz6vm57Yx6zSS0bNXRMMHjH/eJ7r0y4h5QkIFd8qsuY1+P9Q3 JjiA7mG4gbes/7n11vUt+6d4NRGvvjFr+GfyZNnzn3F+kQorGeJgl+3dj17XBpPghWEF KfqnyMQzK8lDbqemQ3yH9KjngVsF6yvXERpyww76cvgP9fo16RrwpKOI9lClHo1LkRsa 3eCu5t1wXTLKENJc97oHb54WbO/2+ewLmmBz89jlQucIIJd6LDkdQrLkMJd0dogWnulu OuTg== X-Forwarded-Encrypted: i=1; AJvYcCWLDTuCtWPRoD71JDq9fEy9r4L3rCYw+Z1BJJjxjwiJHAlyRoVahKrVnmhXp6sYloGwPpEHcRGICQJ85OE=@vger.kernel.org X-Gm-Message-State: AOJu0YzFLefNWghSgIf/BnEU5LLRaH4LKjDpL3XlFew0kIQSuGKHRoyI 4jX8h6mi2bbbgKiMCwIszvGd6ngCVdQuiIH1/MzhLXizIBhEf/dsHIWx X-Gm-Gg: AZuq6aJlOm1FNPcaGE8pPKMJT0HI21CBHjlKp0UFRHM2gKsZhdWCuotDpPsLIxhIKk4 Vl3JdDbRu1hJ1KNm7OUpd3gay4EmwWbLIHivnk9EQ+Uq2tfPDHJtyQdgtNUGKIcQbQe0naX/mGv LatYMkDap1u283xaHSorNKqlISE9aW4eWdf5hb7Unn/iZ3f5Vpzmzadco8cWQKb9Z2n4sMp9bhI hpUK3DWeiFMZId/942RkyFewhGbhEB/MlpO/1CS4hoJ+Ld0gmkn7aHP8LYjkQyJvgh47c4TzUtt g8EFWWgA0NK4A1GmLoNfgWPDYcRlsJK4wHfa1c7De/P/HLwJQH2hx3vTfeY1+T2vYwZYUoKIatN N+PlFIA3Ewu3QONFrAL+8MZgTbkbWJBbg+6VdcQEKKVvAkOi2cO8bL/ZMIlPsB5tKR2MakUsfNo 0cptJbjhRald/cDydhqFpb9ir7vHw= X-Received: by 2002:a17:902:f54c:b0:2a7:cecb:9844 with SMTP id d9443c01a7336-2a7fe74b66cmr28603775ad.48.1769180485491; Fri, 23 Jan 2026 07:01:25 -0800 (PST) Received: from NV-J4GCB44.nvidia.com ([103.74.125.162]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a802fae9b5sm22297685ad.80.2026.01.23.07.01.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Jan 2026 07:01:24 -0800 (PST) From: Jianyue Wu To: akpm@linux-foundation.org Cc: shakeel.butt@linux.dev, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, muchun.song@linux.dev, linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, inwardvessel@gmail.com, Jianyue Wu Subject: [PATCH v4 0/1] mm: memcg: optimize stat output to reduce printf overhead Date: Fri, 23 Jan 2026 23:01:07 +0800 Message-ID: <20260123150108.43443-1-wujianyue000@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <87ec59f7-2d76-4c7a-a2b0-57bc4e801d1d@gmail.com> References: <20260122114242.72139-1-wujianyue000@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This patch optimizes memcg stat output by replacing seq_buf_printf() with a lightweight helper and replacing seq_printf() in numa stat functions with direct seq operations. Changes in v4: - Embed separator and newline in buffer to reduce function calls in memcg_seq_buf_print_stat() (suggested by JP Kobryn) - Optimize memory_numa_stat_show() and memcg_numa_stat_show() by replacing seq_printf() with seq_puts() and seq_put_decimal_ull() - Add comments explaining the optimization approach - Note: Did not add a separate API for the numa stat case because the output format "N0=value0 N1=value1" is too specific - the "N" prefix and node ID are separate values that don't fit a name=value pattern. Using seq_put_decimal_ull() directly is more flexible and clear. Changes in v3: - Rebased to latest mm-unstable - Updated commit message to clarify the optimization approach Changes in v2: - Initial version with seq_buf optimization Performance improvement (1M reads of memory.stat + memory.numa_stat): - Before: real 0m9.663s, user 0m4.840s, sys 0m4.823s - After: real 0m8.909s, user 0m4.661s, sys 0m4.247s - Result: ~11% sys time reduction Jianyue Wu (1): mm: optimize stat output for 11% sys time reduce mm/memcontrol-v1.c | 84 ++++++++++++++++++++++++------------------- mm/memcontrol-v1.h | 4 +++ mm/memcontrol.c | 88 +++++++++++++++++++++++++++++++++++++--------- 3 files changed, 123 insertions(+), 53 deletions(-) -- 2.43.0