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 875C0C77B7A for ; Tue, 16 May 2023 14:11:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A400A900003; Tue, 16 May 2023 10:11:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9EFAD900002; Tue, 16 May 2023 10:11:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8DF98900003; Tue, 16 May 2023 10:11:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 7E6B9900002 for ; Tue, 16 May 2023 10:11:30 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 25C3E1A02FA for ; Tue, 16 May 2023 14:11:30 +0000 (UTC) X-FDA: 80796305940.24.BA41E61 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf21.hostedemail.com (Postfix) with ESMTP id 82AE81C0307 for ; Tue, 16 May 2023 14:10:46 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=cSU5se7Y; spf=pass (imf21.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684246246; a=rsa-sha256; cv=none; b=fRf+IgaAAh/xgymD7muPh8z01TFfw+sV2VWn/SyXCtNE4zjed8vsVV1i6wamPo+QFD6Zpo iF/7Jk2MP0kz8TTNrYEyZkxmrIVuUrhoS16zADVTwFABNySt0rIqlDC5Si3orcfAAELNVh YcH5iqO35/j8Xwb2ykbcNwl59u9PXsg= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=cSU5se7Y; spf=pass (imf21.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684246246; 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=hn3rav8ZP0PpitHw86nKaIs+gEM3hXxw+yPVOYrv3iA=; b=CPzI1RxSY0ElVs+93v70yFxOlxhm7SUUO66SXFEs4hgKJ3v4HqysnZdH6lWrTb8nxR5yI1 quYyQ0OScyfbiuOHUrLEISoHjclpv1fd+XGUMN58k7w4y+PGh6zd1Ea4IzechRy07qiRrq E56TD1FVcfdhdcaOeO7S31XzCGLDzIw= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 53C2B6257B; Tue, 16 May 2023 14:10:45 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E28D1C433D2; Tue, 16 May 2023 14:10:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684246244; bh=Q9L0gBwr5anX6aiKuTQMF/HoFlVlaybar5O5KDWeGrU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=cSU5se7YLUS8gvDtMGkvcVU5FRvcfEhX1mFJ+bO+g32YeGMFtKLANG5lgGoQJuMiu RAJF/Kz2Kg85KeCVY4RbtZCCRkF4d4rntWD6+mOHz1KoxWexgZKDEMnnnnM3xZmUxB ky5dViOEBv6TxV8a+5fzY7JjUrS1ySZXty/iKPMDPhtBxJLHtExuTG2i6afjAgkbq5 nq5ZnnlwzeLpp9hq59Wrj+nBszWir1NrV8VHFtvF9MEVRKGcyUgMoGaWWduxgfOPas +uz5syuzfQ58CrgXOFK9i3uW6rC2rrk4qO5eEl7HY8TOTuhI47YvvSlTgMmRJt6ThZ Q/u9abuJkTRlg== Date: Tue, 16 May 2023 07:10:33 -0700 From: Mike Rapoport To: Yuwei Guan Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] memblock: Add flags and nid info in memblock debugfs Message-ID: <20230516141033.GA4967@kernel.org> References: <20230516020645.160-1-ssawgyw@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230516020645.160-1-ssawgyw@gmail.com> X-Rspam-User: X-Stat-Signature: 4mz79gaaboyw4b49tysdn6ifewkjqmhp X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 82AE81C0307 X-HE-Tag: 1684246246-594003 X-HE-Meta: U2FsdGVkX18hl3Dcz9s03qwJUOLg0BFQzpuhSfUw7c6hVEUP6DHAIkRdXQr/sTSByOLKVSb6OFnwbOjk4g1iXRqgtbWQ4pNDHTtad9fDob/BJ5pE0KGDndkyo0SyeZVldaFGby06kQXkOR2E/xzT9YH1ZsdmVmR1I4svd8nzi+IqPxwGG3E1zNCrTtA4jYbPhzINaNc0oQgDoDpMslpojlh8TpfNOhAW4OhMTYYACm8gUfjelxBO6tU3kZWee/mVpre3jssNKgMtQiElMyOFJvbYYnP8rdcVUC1xYSTU1wUrpX4XxI6P34Dzkm3Xib++7nrr6M1U+Yz7DSt8XMHG0xuaZaZsDXD0lZluP8JEQnKsSNQ5NX4+8+CZEZJHBISEJii2LJ6UGWBP3mq8ozmpBB1vUh9Teguq91DhpxTmN3pJrlDynJuM7WI9Fd4XCddwGlFMONSaxk4cWPSDCuPSnSKXc9JOS24us+wB2Ymc7aUwMzgq43HzD0/8lkePZ68QtNSFqFkzSVmWiKeewLeqm2RrQ9jJcWG1lCbSyWdCZ92/GplYjZeZOALPgFo13yEQVVwDHmspZzVPWiddQTOGUI6gfFnqMUPG285qAWbADj5d+1AmpUWfXlCD972Q196WmtD+RYWwhkobdJdWVhgU11vOLUenW8qankL01LurG3YPNq8dxig0uzMaaI2FfOjbTfQ4tLbXImDYC8RiMYNyUiBy0M5zxvOhkBx2sX7r0hkFhpnByxRISBd4b5Ta+369oTY4baPq9s9pQzP4bOuNphO3Sx0vjJ969hAkGyr/G4yYJ0ZZkGZHaZKPGx2YqJj3jj2aVKqWV0ex6vl4C//lX3kTC2euO5mv55urSlDeBaiCcz5h2upoRUhTsWOWRdCxNXiUEbcWEOvOC4TKex1ygZKUOYQu3cuog6yT7wfuGmuBnAr+2xU31bH/h5akozhUkXGTMhVd68qcioSuXKT fe8NeL0j LcDfO/odtKoV5lLBUZwkvDHIuO+epVx6t7j5xMul1rsSYhFKeh2x0cR8jHNJgshl4Ptl5D48Gf6N0W+Jc86AhDQHQsdT4AoAY76QBbny4KadzVnusVv+QJgXMcucbYKHijtzkE/tJxbDUI/L9F3Lr73sjq0Bak8FIFouyunlmuQbqbQXJx01yVd0ZO0ujfps+Tk5e9AjtNNKyjfK67xW6Ep0lbhAA2JZYyiH/pGvLyz88talMPZZ6kr+uS/KCBlxrRipRc/qLentdSzzlpzZrZOKRFoPQwGxQFj3J39/9NIVJ44kt5C4Pf1rqcQ== 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: Hi, On Tue, May 16, 2023 at 10:06:45AM +0800, Yuwei Guan wrote: > Currently, the memblock debugfs can display the count of memblock_type and > the base and end of the reg. However, when the following scenario occurs, > the information in the existing debugfs cannot make it clear why the > address is not consecutive. > > For example, > cat /sys/kernel/debug/memblock/memory > 0: 0x0000000080000000..0x00000000901fffff > 1: 0x0000000090200000..0x00000000905fffff > 2: 0x0000000090600000..0x0000000092ffffff > 3: 0x0000000093000000..0x00000000973fffff > 4: 0x0000000097400000..0x00000000b71fffff > 5: 0x00000000c0000000..0x00000000dfffffff > 6: 0x00000000e2500000..0x00000000f87fffff > 7: 0x00000000f8800000..0x00000000fa7fffff > 8: 0x00000000fa800000..0x00000000fd3effff > 9: 0x00000000fd3f0000..0x00000000fd3fefff > 10: 0x00000000fd3ff000..0x00000000fd7fffff > 11: 0x00000000fd800000..0x00000000fd901fff > 12: 0x00000000fd902000..0x00000000fd909fff > 13: 0x00000000fd90a000..0x00000000fd90bfff > 14: 0x00000000fd90c000..0x00000000ffffffff > 15: 0x0000000880000000..0x0000000affffffff > > So we can add flags and nid to this debugfs. > > For example, > cat /sys/kernel/debug/memblock/memory > cnt flags base..end > 0: 0x0 0x0000000080000000..0x00000000901fffff > 1: 0x4 0x0000000090200000..0x00000000905fffff > 2: 0x0 0x0000000090600000..0x0000000092ffffff > 3: 0x4 0x0000000093000000..0x00000000973fffff > 4: 0x0 0x0000000097400000..0x00000000b71fffff > 5: 0x0 0x00000000c0000000..0x00000000dfffffff > 6: 0x0 0x00000000e2500000..0x00000000f87fffff > 7: 0x4 0x00000000f8800000..0x00000000fa7fffff > 8: 0x0 0x00000000fa800000..0x00000000fd3effff > 9: 0x4 0x00000000fd3f0000..0x00000000fd3fefff > 10: 0x0 0x00000000fd3ff000..0x00000000fd7fffff > 11: 0x4 0x00000000fd800000..0x00000000fd901fff > 12: 0x0 0x00000000fd902000..0x00000000fd909fff > 13: 0x4 0x00000000fd90a000..0x00000000fd90bfff > 14: 0x0 0x00000000fd90c000..0x00000000ffffffff > 15: 0x0 0x0000000880000000..0x0000000affffffff > > Signed-off-by: Yuwei Guan > --- > mm/memblock.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/mm/memblock.c b/mm/memblock.c > index 45f198750be9..34230b258e21 100644 > --- a/mm/memblock.c > +++ b/mm/memblock.c > @@ -2045,11 +2045,21 @@ static int memblock_debug_show(struct seq_file *m, void *private) > int i; > phys_addr_t end; > > +#ifdef CONFIG_NUMA > + seq_puts(m, "cnt\tflags\tnid\tbase..end\n"); > +#else > + seq_puts(m, "cnt\tflags\tbase..end\n"); > +#endif > + > for (i = 0; i < type->cnt; i++) { > reg = &type->regions[i]; > end = reg->base + reg->size - 1; > > - seq_printf(m, "%4d: ", i); > + seq_printf(m, "%d:\t", i); > + seq_printf(m, "0x%x\t", reg->flags); > +#ifdef CONFIG_NUMA > + seq_printf(m, "0x%x\t", reg->nid); > +#endif Please add flags and node information after the ranges and print node for UMA case as well. I'd prefer to have zeros in debugfs rather than ifdefs here. Just use memblock_get_region_node() instead of r->nid. > seq_printf(m, "%pa..%pa\n", ®->base, &end); > } > return 0; > -- > 2.34.1 > -- Sincerely yours, Mike.