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 D29C1C77B7A for ; Thu, 18 May 2023 05:59:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1B953900004; Thu, 18 May 2023 01:59:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 16916900003; Thu, 18 May 2023 01:59:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0308F900004; Thu, 18 May 2023 01:59:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id E3082900003 for ; Thu, 18 May 2023 01:59:26 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id A0173A0770 for ; Thu, 18 May 2023 05:59:25 +0000 (UTC) X-FDA: 80802323490.17.92A2C51 Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) by imf17.hostedemail.com (Postfix) with ESMTP id BA63940008 for ; Thu, 18 May 2023 05:59:23 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Fo7rAgsO; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf17.hostedemail.com: domain of ssawgyw@gmail.com designates 209.85.208.178 as permitted sender) smtp.mailfrom=ssawgyw@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684389563; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+pC2Mw768aiiOZVW/URaji/jIL0q8fXLGmXCX/5A7RQ=; b=bfYQmsthBsZmHsMgJC0d7RNBcdPMBMflV72sPs5gKLcEZmbZESJFFdUGRKjuy/z17HHnxH fMUHgNpcKMhpdotS8/SWhdzD62U7TPY4R4kvUr9OwF8QQnHDT76m66hPhM4zagDc05CfQW hLhbobA+yeBirrzHQCiXAc+EcpFMlng= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=Fo7rAgsO; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf17.hostedemail.com: domain of ssawgyw@gmail.com designates 209.85.208.178 as permitted sender) smtp.mailfrom=ssawgyw@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684389563; a=rsa-sha256; cv=none; b=Yh+av7xccLnAfbiDO2jWVCxJVpOLItGtebGYwfleeah19JrxI9VZn3TNyY3hHEqdJpuXb7 zoBB0cJF4fXNep/HYIeNrlerkMwXxqsWEg2l8bp2/bo+D4Zx65GVbW81o31Wwfd8NgLp63 twyQ/Pnx4cXt6Er90xI2h/jXR7KLB8Q= Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-2ac8d9399d5so17548891fa.1 for ; Wed, 17 May 2023 22:59:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684389562; x=1686981562; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=+pC2Mw768aiiOZVW/URaji/jIL0q8fXLGmXCX/5A7RQ=; b=Fo7rAgsOA6iH6hlmTo1ihueMBtErgiCBJncUCGNvlUM4emHdLATv1yNCak9CgmRc0O SpRjRsqiIv8P4Hj7NSU00nNKvFk/8gJZZItniS1WTCp/jTP1rx4F0Jz9Z4aDB6V2QaT+ hDxMrU92MegrLkVeIPmE1fXuWVIF5JlzhAhi8Wy9rGsOdd1cgBuLvBvfnPWoZaoAUcLM Q0g2f688rbnqD/+GlOr0L8evpBLTUYKWJ7ww4/CgbuaqTC8wVc+AlEZD3pXqfHOmZu1q hIn4Ex/4dx+NRooqrFqgVBAWei/7aa9vQSB6ZzqkPCOU3p7bD5IiY0+FydARk8d7i2C/ /uHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684389562; x=1686981562; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+pC2Mw768aiiOZVW/URaji/jIL0q8fXLGmXCX/5A7RQ=; b=XUjaJduTkloY7FbvHTDuSUjTx0aqXeeDEq6qukiYkNb2ag++5RaeDv2UKmLPWiUf7g kXRAPLLdBMvaeIrustSxKyjnUyRBj38iEhJYyM5Xa94X7viaoEzCNEekYI5G98sE3ZGF kfgykhEbxSJlV+9nX64MKVcMWto1XTuBQDq7q3lCpyy85ZUJmwf4s2Yv462m8ZQk8Uld tuCDi2wjPtXOzi4ETFxHFJnA6aagGCzakxyOWR4rwJHH/Jtcccw0Es/aj8jOfogH23Ic Z1SBordU6/sf6SF03kBX5H0tlXg7peIe1SRlSLBlf1h1q/Xqh2wbiMKjkIfCIwlPJTFH l+vQ== X-Gm-Message-State: AC+VfDwxaRY8RLZEpQylFba2JW8aidrybN3txdx7Pa7czSJMVfqkSGdX 0aKTB57magVRFSkmc5o6cqGtfEtfPGBwQ/GkNRU= X-Google-Smtp-Source: ACHHUZ6f1i4RUizH7lzR3yDT/TZdVZK3Oou3/klaxDVmkwNqtNKY7uniLvkxHeCyyk/poW0z4MSMZKNci8m/raB59Nk= X-Received: by 2002:a2e:8051:0:b0:2ac:91c5:76c with SMTP id p17-20020a2e8051000000b002ac91c5076cmr10763289ljg.18.1684389561831; Wed, 17 May 2023 22:59:21 -0700 (PDT) MIME-Version: 1.0 References: <20230517025747.230-1-ssawgyw@gmail.com> <52fa3a4f-5467-7b68-334c-4280d3925b39@arm.com> In-Reply-To: From: Yuwei Guan Date: Thu, 18 May 2023 13:58:46 +0800 Message-ID: Subject: Re: [PATCH v2] memblock: Add flags and nid info in memblock debugfs To: Mike Rapoport Cc: Anshuman Khandual , akpm@linux-foundation.org, tsahu@linux.ibm.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: f38ss8wz53zaniuq1kj119rowfq4ig9f X-Rspam-User: X-Rspamd-Queue-Id: BA63940008 X-Rspamd-Server: rspam07 X-HE-Tag: 1684389563-273591 X-HE-Meta: U2FsdGVkX19Rlj+PtKpvwjFul369HwIQUDQh1xbchbU10Kva7xRpMldMamze7yuJDBB1K5DFIx2fXT1M9mxozQjwGOc3rev7jzt4ZcWsh1GXj/FHwe4DUkdJEQWwMtXVplGZGtRtt2N7tyRsd1CK8Y5yCmLmqtgNr0L4hfDCrxw4yDAQLQtLaeiM6hTOB3u7rLFyOuW2GULCaNZw9adYr/uXU4AOEbgk/5iOqaN1v91I1ASbO0PUumWcnDR3GMgcu7OofKKteL3oCDABGVnHfNl/FoQkUC3qe01MWhrS0JVSunx7cj0HjIP1e4j7G9S24mYq5TuoXbycpVCvyixw8sTxDwfYrU7xPeb8o/m923Ycp1fgTtGEwTQpCVO6NPUwuSi5O02a4zFPUKLIPILNECub+U+tAkRdkN9erVFyWd193WkdcfuxeEJp/YomnZWShNccQvlhOWyTkB9m68X40aqxAmPPgqPVDCV4WJxZP2GHL2eUq1GjKvvvCAnbLGZapECqPcDXEPcr+K7FacCSqSgS6lEVCNfz5mhd/zDh8tbezn3ZMc7woMFCkm8AKCMe4iAmHu2+a74bDt9W73wiUdP1ZinfsdWXDM7CHGBYVwh9M2c06dyvhd3w53D1kst2ee85vspipKyco778x1zEXPco9vAcymvrXXchFDzplx3D/JyxG4abPbwhba6qnbnpNx2V3/DiOPBibuIX8VUjjH6LLbsnX+7ZCYEruFA1th+h28/r/5ROk1eO/pjA4ovGotedCvomxLuK43M93jogIVZh0we5giK2mR4KpCbkfJRJyTmws3n/AdYKi92bwICPd/v158Wq4ptIw/QJ1hZjAWmV0AVWanBJO9LF2OWlu2tycKx41fb4csNc03mPUhrQDTMgTIvPNlT8DTVDL3SoxeAXjTSg7XOwqXdIa1bBlzbr7pC45NzYy/9ROIhScXhF2q9TWlzjsPhV3wNoY7s 6XwsT1pj QvX/ZAyoxzpwHUR/o8airTupkWyT7t791Rmf/8dHqBGG2fzQsMbZc8r8Gg7n0LGrUQcHdJye64yFG0HEQKQC2im69G79YOUJzddtIv/y/TmjiKU6BXu42H+v/FVsnCPcJWkTDFyUKRN3Nj19E8RABplUqfdjEy+PsuKs/EHTMfIvW2oErk3Is/mHGT7yHt90KS1AyqXE/bqCMqd0JCv9qXJaaSMDdHUg8HF/spa6NT+R9QRjbNKlBAU3QeHs8C4VpZYo+lJIawZ560fnaGHeXwXnZIlae8fI9Y5F044Sk9tieNxXDWCzir/rxMRmKQn/eIDwBmHbH8MR64Zgxoeprrtr7shwLgmdLbbSAAWJ05HcJqBqbF0WmtiM4WIUnETjp26MIW89gM1zpWyLD4XSAd3e5MPZkfOEaV0N01Gc5J7jG7DKrGyW6VTZkAUoD4ryakD8AmpwLT39bvSQ= 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: Mike Rapoport =E4=BA=8E2023=E5=B9=B45=E6=9C=8817=E6=97=A5= =E5=91=A8=E4=B8=89 21:42=E5=86=99=E9=81=93=EF=BC=9A > > On Wed, May 17, 2023 at 11:37:25AM +0530, Anshuman Khandual wrote: > > > > On 5/17/23 08:27, Yuwei Guan wrote: > > > Currently, the memblock debugfs can display the count of memblock_typ= e and > > > the base and end of the reg. However, when the following scenario occ= urs, > > > > scenarios where the memblock flags or nid varies inside a single PA ran= ge ? > > I guess the commit message description here can be improved to accommod= ate > > such details. > > > > > 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 base..end flags nid > > > > These markers ^^^ are not aligned properly, and also might not be > > required as well. > > > > > 0: 0x0000000080000000..0x00000000901fffff 0x0 0x0 > > > 1: 0x0000000090200000..0x00000000905fffff 0x4 0x0 > > > 2: 0x0000000090600000..0x0000000092ffffff 0x0 0x0 > > > 3: 0x0000000093000000..0x00000000973fffff 0x4 0x0 > > > 4: 0x0000000097400000..0x00000000b71fffff 0x0 0x0 > > > 5: 0x00000000c0000000..0x00000000dfffffff 0x0 0x0 > > > 6: 0x00000000e2500000..0x00000000f87fffff 0x0 0x0 > > > 7: 0x00000000f8800000..0x00000000fa7fffff 0x4 0x0 > > > 8: 0x00000000fa800000..0x00000000fd3effff 0x0 0x0 > > > 9: 0x00000000fd3f0000..0x00000000fd3fefff 0x4 0x0 > > > 10: 0x00000000fd3ff000..0x00000000fd7fffff 0x0 0x0 > > > 11: 0x00000000fd800000..0x00000000fd901fff 0x4 0x0 > > > 12: 0x00000000fd902000..0x00000000fd909fff 0x0 0x0 > > > 13: 0x00000000fd90a000..0x00000000fd90bfff 0x4 0x0 > > > 14: 0x00000000fd90c000..0x00000000ffffffff 0x0 0x0 > > > 15: 0x0000000880000000..0x0000000affffffff 0x0 0x0 > > > > > > Signed-off-by: Yuwei Guan > > > Reviewed-by: Tarun Sahu > > > --- > > > mm/memblock.c | 8 ++++++-- > > > 1 file changed, 6 insertions(+), 2 deletions(-) > > > > > > diff --git a/mm/memblock.c b/mm/memblock.c > > > index 511d4783dcf1..b36fb6b31e0f 100644 > > > --- a/mm/memblock.c > > > +++ b/mm/memblock.c > > > @@ -2144,12 +2144,16 @@ static int memblock_debug_show(struct seq_fil= e *m, void *private) > > > int i; > > > phys_addr_t end; > > > > > > + seq_puts(m, "cnt\tbase..end\tflags\tnid\n"); > > > > Please drop this. > > > > > + > > > for (i =3D 0; i < type->cnt; i++) { > > > reg =3D &type->regions[i]; > > > end =3D reg->base + reg->size - 1; > > > > > > - seq_printf(m, "%4d: ", i); > > > - seq_printf(m, "%pa..%pa\n", ®->base, &end); > > > + seq_printf(m, "%d:\t", i); > > > > Why drop the existing %4d formatting qualifier ? > > > > > + seq_printf(m, "%pa..%pa\t", ®->base, &end); > > > + seq_printf(m, "0x%x\t", reg->flags); > > > > Should there be ORed string values for each memblock flag ? > > > > enum memblock_flags { > > MEMBLOCK_NONE =3D 0x0, /* No special request */ > > MEMBLOCK_HOTPLUG =3D 0x1, /* hotpluggable region */ > > MEMBLOCK_MIRROR =3D 0x2, /* mirrored region */ > > MEMBLOCK_NOMAP =3D 0x4, /* don't add to kernel direct= mapping */ > > MEMBLOCK_DRIVER_MANAGED =3D 0x8, /* always detected via a driv= er */ > > }; > > > > Something like NN | HT | MR | NM | DM ? > > These are not less cryptic than numbers :) > Most of them are mutually exclusive, so maybe just spell them out fully, > just shorten DRIVER_MANAGED to DRV_MNG? > And make the flags dump the last to keep columns nicely aligned. > Ok, I will update them in the v3 patch soon. Thanks > > > + seq_printf(m, "0x%x\n", memblock_get_region_node(reg)); > > > } > > > return 0; > > > } > > -- > Sincerely yours, > Mike.