From patchwork Mon Feb 19 03:19:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fangzheng Zhang X-Patchwork-Id: 202889 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1058559dyc; Sun, 18 Feb 2024 19:20:39 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXSQTOudRqEqeGrXkpN9MSbig4Xpf0eOddYUBAeVYxAbFX0jm5rTP5pgItc3xBmbwsAkRpMG3q1o5Ca+OrqY/88Zr6gNQ== X-Google-Smtp-Source: AGHT+IFQg9tdc++ytp9ND3jokUZr1rbv4iGMkVkSz7rSo7dBd07E03r78/xdiMT9q4caPniUhE+s X-Received: by 2002:a2e:9792:0:b0:2d0:f872:6f16 with SMTP id y18-20020a2e9792000000b002d0f8726f16mr7133765lji.16.1708312839459; Sun, 18 Feb 2024 19:20:39 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708312839; cv=pass; d=google.com; s=arc-20160816; b=e+LnGgBivA34xj+IfulvG5vXaPjG2eeNidsunzLcbsy6MbQETdMi5OLE4ZBh5CnJHY uBcG2MX/Ahs4h7qLWb6NEyesED3Nl3SJDy6OqwFUWIHmqWK5AxuBjDAa25aJf5VRWixn micUXXdpK0PJO9H4BCDZPJGz19MXQo1MrCzyf0DdKDqeR4wzbY7HWXlHeoV65IfP5doA cdk7LMVYkOL3DF0mVsXXBFil5UJs2+tALzBQZTjCRpiNj1U2EWGJBD1euYwkBEefa0Yh RvBWuIqS++NXp9ejFeNPHiutKt7FXiw193X9OAb9TscTPP2NmoNU45iQiM+gGuB5+CFC rUSg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:in-reply-to:message-id:date:subject:cc:to:from; bh=TAXN3PtXYOjoe+UPy2mZJg/CF9SrRoL5j3Fm4QxnG7k=; fh=zPkfwF/RKpjXAd+6FOo7GH5tFJ5Aa5Jc4zvtPw/XAZc=; b=lez1P+UoCdEYj0RwpiPROcR84QG5eiQ53VDcE8DyjGudungQkuhkMp5CLnqcila69Y OaaPkxKPHZ8e+Y97O7w73oe2F3THYz7wtriKRzFU2JhtgOE95PtQb3HySigV7FtLhMVu 6ZunbkSRnu83Amv8B5ZCqEtNTzKmfjLkyTzSGGb5WDXUDhgoaewZZd3i/X/EKmygL2Md IE8Ch8o++iORoeg6v3j9kwtrTu0lc5EqGZ1b/DzH9OAim+nXCa6Qu8OMbGqEtLuhfP5o b9f2E/gGi8PnOYpVQpvF1g7wGwkyTC+XVkATO2rkdG/b08sUJ5xDnZgN9n+X5T6DInHo ne0A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=unisoc.com); spf=pass (google.com: domain of linux-kernel+bounces-70672-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-70672-ouuuleilei=gmail.com@vger.kernel.org" Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id dh6-20020a0564021d2600b00563eb937926si1974668edb.499.2024.02.18.19.20.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Feb 2024 19:20:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-70672-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=unisoc.com); spf=pass (google.com: domain of linux-kernel+bounces-70672-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-70672-ouuuleilei=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 123AA1F2152B for ; Mon, 19 Feb 2024 03:20:39 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1303E4A3B; Mon, 19 Feb 2024 03:20:26 +0000 (UTC) Received: from SHSQR01.spreadtrum.com (unknown [222.66.158.135]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 362012103 for ; Mon, 19 Feb 2024 03:20:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=222.66.158.135 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708312824; cv=none; b=J8ASHQ6cjD9vn+QLwLd2IEg9QJ+yIuWpw394jxHnL8WgbFum1T4ye2Oot9mSl6D7UAn8/WldIL2xcfaYii2FO4NHqk7n1IbupChbAddPm6RWsxMgPQmLdkG4O5wKRzHjIx2+a4HobwSYPTZPjoGyKRvGDEgJRJtZ81+3jgueea8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708312824; c=relaxed/simple; bh=Z+7vse2oVEMZGzwQc87EL46uYY5WpATXZyWpKmqnc5w=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=VqwH1mfl60iqfx4GQioBWL+PZjwSLJrRr/JLgyDt2XttlS/u4ZBrfRBzTz2h3lvLW8oMpNbLgONc4owUcZykh4COBCKB0frTltD2I3zKTzFImVDyvSystRo6Xv9QnuD+WAKwMh229hYCcrj2L9nyS18SUIXPqnbzFU+c5DwZxPA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com; spf=pass smtp.mailfrom=unisoc.com; arc=none smtp.client-ip=222.66.158.135 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=unisoc.com Received: from dlp.unisoc.com ([10.29.3.86]) by SHSQR01.spreadtrum.com with ESMTP id 41J3K3ud006324; Mon, 19 Feb 2024 11:20:03 +0800 (+08) (envelope-from fangzheng.zhang@unisoc.com) Received: from SHDLP.spreadtrum.com (bjmbx02.spreadtrum.com [10.0.64.8]) by dlp.unisoc.com (SkyGuard) with ESMTPS id 4TdSSh0lVdz2KDdHY; Mon, 19 Feb 2024 11:19:32 +0800 (CST) Received: from bj10906pcu1.spreadtrum.com (10.0.73.72) by BJMBX02.spreadtrum.com (10.0.64.8) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Mon, 19 Feb 2024 11:20:00 +0800 From: Fangzheng Zhang To: Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Greg KH CC: , , , Fangzheng Zhang , Fangzheng Zhang , Yuming Han , Chunyan Zhang Subject: [PATCH V2 1/2] mm/slab: Add slabreclaim flag to slabinfo Date: Mon, 19 Feb 2024 11:19:10 +0800 Message-ID: <20240219031911.10372-2-fangzheng.zhang@unisoc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20240219031911.10372-1-fangzheng.zhang@unisoc.com> References: <20240219031911.10372-1-fangzheng.zhang@unisoc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SHCAS01.spreadtrum.com (10.0.1.201) To BJMBX02.spreadtrum.com (10.0.64.8) X-MAIL: SHSQR01.spreadtrum.com 41J3K3ud006324 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791295844100851550 X-GMAIL-MSGID: 1791295844100851550 In order to enhance slab debugging, we add slabreclaim flag to slabinfo. Slab type is also an important analysis point in slabinfo for per slab, when various problems such as memory leaks or memory statistics occur. Signed-off-by: Fangzheng Zhang --- mm/slab_common.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mm/slab_common.c b/mm/slab_common.c index 238293b1dbe1..fd865ca335ea 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -1035,10 +1035,10 @@ static void print_slabinfo_header(struct seq_file *m) * Output format version, so at least we can change it * without _too_ many complaints. */ - seq_puts(m, "slabinfo - version: 2.1\n"); + seq_puts(m, "slabinfo - version: 2.2\n"); seq_puts(m, "# name "); seq_puts(m, " : tunables "); - seq_puts(m, " : slabdata "); + seq_puts(m, " : slabdata "); seq_putc(m, '\n'); } @@ -1071,8 +1071,9 @@ static void cache_show(struct kmem_cache *s, struct seq_file *m) seq_printf(m, " : tunables %4u %4u %4u", sinfo.limit, sinfo.batchcount, sinfo.shared); - seq_printf(m, " : slabdata %6lu %6lu %6lu", - sinfo.active_slabs, sinfo.num_slabs, sinfo.shared_avail); + seq_printf(m, " : slabdata %6lu %6lu %6lu %6u", + sinfo.active_slabs, sinfo.num_slabs, sinfo.shared_avail, + !!(s->flags & SLAB_RECLAIM_ACCOUNT)); slabinfo_show_stats(m, s); seq_putc(m, '\n'); } From patchwork Mon Feb 19 03:19:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fangzheng Zhang X-Patchwork-Id: 202890 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1058598dyc; Sun, 18 Feb 2024 19:20:50 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVJvYiXS8sLcecHTDgHDq6jgX9uT8Ittx6rN+MdZlVOXz/6Q9taQeLbUL7wXQYDo8H8xkNGV58ZhfaXrE3ILGKpKZVxyA== X-Google-Smtp-Source: AGHT+IGcTdpXdYxR44HmoyWqy8xSra6L34Tb2laKPT+di057SlpxxK/QgodMC7VBNTQxu7SYm8PH X-Received: by 2002:a17:90a:c706:b0:296:f874:6844 with SMTP id o6-20020a17090ac70600b00296f8746844mr9332494pjt.15.1708312850460; Sun, 18 Feb 2024 19:20:50 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708312850; cv=pass; d=google.com; s=arc-20160816; b=npHMW/dgnE01mhrTCQY4W4MDYY98l4pP74WobwoGTQYpGGzXudJhWwCqu2dQ3hEdad 7ks4kAKylzSOPFfjRetqdmCKVHiNoZmT1ecB+Y8+ItPeYGOjr8Jpbq5Te0WwBpu6eu08 HVCGbwRoNM/WrcFzDqFSUysn2NsU/uy3MQfmBush1gZyKwwNbGKfLyG5mNl40IxxhCst KmS43RfVYb+IuTQtDWo47jYFn5OrUlkttGGjABLr5A9iH1oJ1goM/uTIlGBNWHbcUJfk FsHKjv4OtG5yslISKUgiIgWYvmxj9idfgC3JaMaLXTuNXQJn8LzdhEYh8+qwOn7cfJS7 PVzA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:in-reply-to:message-id:date:subject:cc:to:from; bh=9vyRfTNG4hqy1ChcWYAwxL2sBvFByiWsigWbOQ6K1BI=; fh=zPkfwF/RKpjXAd+6FOo7GH5tFJ5Aa5Jc4zvtPw/XAZc=; b=YkV1yCbJkC9NDMo8yyVoYDc2nNch2pJuEXmtJzzxp57kF7ssxxDwyLJAZs1Xzbqjnm 3kpaSmEChakXlVdLHWLhzWWJlEe04ND32KnudFvNEdpfWhBDe3oYSdd99Z5uxlgTsWS6 bPytWtgDvlXdfw3cfIQoIkyZJBBCMJabOtL+b/bKHUzEQPoeQhRhXj0S6Dr27eliQxzx doGWmwd8spnYl8UA4GUBFaj/n6pcyrSRkHIMLamBDGh9qMekoSIqhcBkd64Th9dkhPdE 2cezOhc21EMcM2MWDBhNheODHZ0Ojd6+kwnT4udT28hRQcutJg5tbl6AGu8Qk0tvhvI8 mfeQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=unisoc.com); spf=pass (google.com: domain of linux-kernel+bounces-70673-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-70673-ouuuleilei=gmail.com@vger.kernel.org" Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id gq6-20020a17090b104600b002995f0ef92asi2958083pjb.111.2024.02.18.19.20.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Feb 2024 19:20:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-70673-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=unisoc.com); spf=pass (google.com: domain of linux-kernel+bounces-70673-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-70673-ouuuleilei=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 42D14281793 for ; Mon, 19 Feb 2024 03:20:50 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 26FD15673; Mon, 19 Feb 2024 03:20:36 +0000 (UTC) Received: from SHSQR01.spreadtrum.com (mx1.unisoc.com [222.66.158.135]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C237C4C90 for ; Mon, 19 Feb 2024 03:20:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=222.66.158.135 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708312834; cv=none; b=U+9gBxPChz/YwQBnh0SEsLCLiH40ZisZA3a7cx4qtIcOjzTK6mMqaQge8MgnNMRt8Nq4OeukJDzuChGZBpg6tBKZigzSLCjXwGkJ1J1compb/6rRiVEDRRWxM93soeipOjjdtyYMr2KxF3mQR9whHKiEcg39TtU6KchLJ8qToSQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708312834; c=relaxed/simple; bh=qZ3QP/O+dKCUtJMzLtIoEE1u0enCWJg3RGRx2cIFbdQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=pXWjJHk99R8Do9KTjwACro26QqEJ12WAPdfHkvc35XHZu/QdcQsyI+j7AVT9YUSPv76PEb3WoCU9IorPK+2zP3e/qqjDTm5PbRoOTvW4/qH+J3Rki4Gm9EMgHopwg5NeAfSplvLSI85C6NKVLHzfjMoz3YxJ+mbPsKNWo10cF+4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com; spf=pass smtp.mailfrom=unisoc.com; arc=none smtp.client-ip=222.66.158.135 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=unisoc.com Received: from dlp.unisoc.com ([10.29.3.86]) by SHSQR01.spreadtrum.com with ESMTP id 41J3KDic006816; Mon, 19 Feb 2024 11:20:13 +0800 (+08) (envelope-from fangzheng.zhang@unisoc.com) Received: from SHDLP.spreadtrum.com (bjmbx02.spreadtrum.com [10.0.64.8]) by dlp.unisoc.com (SkyGuard) with ESMTPS id 4TdSSt0CC8z2KDdHY; Mon, 19 Feb 2024 11:19:42 +0800 (CST) Received: from bj10906pcu1.spreadtrum.com (10.0.73.72) by BJMBX02.spreadtrum.com (10.0.64.8) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Mon, 19 Feb 2024 11:20:10 +0800 From: Fangzheng Zhang To: Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Greg KH CC: , , , Fangzheng Zhang , Fangzheng Zhang , Yuming Han , Chunyan Zhang Subject: [PATCH V2 2/2] Documentation: filesystems: introduce proc/slabinfo to users Date: Mon, 19 Feb 2024 11:19:11 +0800 Message-ID: <20240219031911.10372-3-fangzheng.zhang@unisoc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20240219031911.10372-1-fangzheng.zhang@unisoc.com> References: <20240219031911.10372-1-fangzheng.zhang@unisoc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: SHCAS01.spreadtrum.com (10.0.1.201) To BJMBX02.spreadtrum.com (10.0.64.8) X-MAIL: SHSQR01.spreadtrum.com 41J3KDic006816 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791295855631514516 X-GMAIL-MSGID: 1791295855631514516 Supplement slabinfo-version 2.2 details in proc.rst, so that users can have the status of slabinfo at a glance. And mark the optimization work that will be performed on proc/slabinfo in the next step. Signed-off-by: Fangzheng Zhang --- Documentation/filesystems/proc.rst | 33 ++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/Documentation/filesystems/proc.rst b/Documentation/filesystems/proc.rst index 104c6d047d9b..89ab92f6be2d 100644 --- a/Documentation/filesystems/proc.rst +++ b/Documentation/filesystems/proc.rst @@ -892,6 +892,39 @@ Linux uses slab pools for memory management above page level in version 2.2. Commonly used objects have their own slab pool (such as network buffers, directory cache, and so on). +Example output. You can have all of these fields in slabinfo - version: 2.2. + +:: + + > cat /proc/slabinfo + + slabinfo - version: 2.2 + # name : tunables : slabdata + zspage 2240 2240 72 56 1 : tunables 0 0 0 : slabdata 40 40 0 0 + zs_handle 17408 17408 8 512 1 : tunables 0 0 0 : slabdata 34 34 0 0 + f2fs_xattr_entry-254:48 312 312 208 39 2 : tunables 0 0 0 : slabdata 8 8 0 1 + imsbr_flow 102 102 80 51 1 : tunables 0 0 0 : slabdata 2 2 0 0 + ...... + ext4_groupinfo_4k 312 312 208 39 2 : tunables 0 0 0 : slabdata 8 8 0 1 + dm_verity_fec_buffers 8 8 4048 8 8 : tunables 0 0 0 : slabdata 1 1 0 0 + dm_bufio_buffer 28 28 144 28 1 : tunables 0 0 0 : slabdata 1 1 0 1 + ...... + kernfs_iattrs_cache 4010 4116 96 42 1 : tunables 0 0 0 : slabdata 98 98 0 0 + kernfs_node_cache 67169 67232 128 32 1 : tunables 0 0 0 : slabdata 2101 2101 0 0 + mnt_cache 5624 5700 320 25 2 : tunables 0 0 0 : slabdata 228 228 0 0 + filp 15840 17400 320 25 2 : tunables 0 0 0 : slabdata 696 696 0 0 + ...... + kmalloc-32 30398 32384 32 128 1 : tunables 0 0 0 : slabdata 253 253 0 0 + kmalloc-16 31566 31744 16 256 1 : tunables 0 0 0 : slabdata 124 124 0 0 + kmalloc-8 51623 51712 8 512 1 : tunables 0 0 0 : slabdata 101 101 0 0 + kmem_cache_node 416 416 128 32 1 : tunables 0 0 0 : slabdata 13 13 0 0 + kmem_cache 416 416 256 32 2 : tunables 0 0 0 : slabdata 13 13 0 0 + +Note, comes from the collected results in the file +/sys/kernel/slab/$cache/reclaim_account. Next, we will mark /proc/slabinfo +as deprecated and recommend the use of either sysfs directly or +use of the "slabinfo" tool that we have been providing in linux/tools/mm. + :: > cat /proc/buddyinfo