All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: Jaewon Kim <jaewon31.kim@samsung.com>
Cc: "vbabka@suse.cz" <vbabka@suse.cz>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jaewon31.kim@gmail.com" <jaewon31.kim@gmail.com>,
	"tkjos@google.com" <tkjos@google.com>,
	Wei Yang <richard.weiyang@gmail.com>,
	Pintu Agarwal <pintu.ping@gmail.com>
Subject: Re: (2) [RESEND PATCH 00/10] memblock: introduce memsize showing reserved memory
Date: Mon, 27 May 2024 19:22:36 +0300	[thread overview]
Message-ID: <ZlSzTOSu06ziefUj@kernel.org> (raw)
In-Reply-To: <20240527013504epcms1p22bec7b83f2a42e76877b97ed0d769009@epcms1p2>

On Mon, May 27, 2024 at 10:35:04AM +0900, Jaewon Kim wrote:
> >On Fri, May 24, 2024 at 06:07:15PM +0900, Jaewon Kim wrote:
> >> >On Tue, May 21, 2024 at 07:17:53PM +0900, Jaewon Kim wrote:
> >> >> >On Tue, May 21, 2024 at 11:53:29AM +0900, Jaewon Kim wrote:
> >> >> >> 
> >> >> >> This is actually RESEND as it was introduced 2 years ago.
> >> >> >> Please refer to https://lore.kernel.org/linux-mm/YkQB6Ah603yPR3qf@kernel.org/#t
> >> >> >> 
> >> >> >> > But you never provided details about *why* you want this information exposed.
> >> >> >> 
> >> >> >> For your question, I'd like to say ;
> >> >> >> We can see the same format and exact information between different version of kernel status.
> >> >> >> 
> >> >> >> 1) Internally we can check if the reserved memory changes.
> >> >> >> 2) Externally we can communicate between chipset vendors and OEM, with a same format.
> >> >> >
> >> >> >Why the existing debugfs interface is not sufficient?
> >> >> 
> >> >> debugfs/memblock/memory & debugfs/memblock/reserved have changed its
> >> >> format but still does not show name, reusable, kernel size.  If memory is
> >> >> reserved from memblock, and did not freed back to memblock. Memblock does
> >> >> not know even after the memory is freed to system.  I think a simple
> >> >> debug interface is needed to easily communicate with others or compare
> >> >> different SW releases.
> >> >
> >> >I still don't understand what problem are you trying to solve with these
> >> >patches. 
> >> 
> >> I think we need a common API to easily see the reserved memory status.
> >> Through MemTotal on /proc/meminfo, we can only see only the total size
> >> of reserved memory. We don't how big kernel init size within the the
> >> total size. I think this really helps to compare different kernel and
> >> communicate with others.
> >
> > As was already mentioned on this thread, something like
> >
> > $ dmesg | grep Memory:
> > [    0.000000] Memory: 8058204K/8388608K available (35392K kernel code, 8706K rwdata, 23320K rodata, 16832K init, 848K bss, 297636K reserved, 32768K cma-reserved)
> >
> > already shows init, rodata and bss sizes.
> >
> > And size -A vmlinux provides detailed breakdown of the kernel image into
> > sections.
> > 
> >> I think the debugfs API or early boot log shows quite much information
> >> for the reserved memory information defined in device tree. But it is
> >> difficult to see after boot, as the boot log already was removed ouf of
> >> the kernel log buffer.
> >
> > Kernel log is persisted, isn't it?
> 
> Early kernel log is removed after other log is written to the log buffer. I may
> not be able to get it, after waiting for the target device is ready to be
> connected from host PC. I wanted to keep that information.
> 
> Actually the commit aeb9267eb6b1 ("of: reserved-mem: print out reserved-mem
> details during boot") seems to show most of information if I can get the early
> boot log.

Unless the kernel log is stored on the target you need to redirect
target's console to a file on the host, then all of the boot log will be
accessible on the host.

Then with memblock=debug kernel parameter you'll be able to get much more
information about memblock reservations.
 
> If you don't mind, let me ask one question. How can we easily find the undefined
> DRAM memory regions in kernel persective. Do we have to look into the debugfs 
> memblock/memory and combine the information with the kernel log information?
> 
> case1) Actual DRAM is mapped as two regions like,
>    2GB @ 0x00000000_80000000 and 6GB @ 0x00000008_80000000,
>    how can we find the hole, 0x00000000_80000000--0x00000008_7FFFFFFF ?

The actual memory banks reported to Linux are shown at
debugfs/memblock/memory
 
> case2) If some region is already carved out at bootloader stage like.
>    0x00000000_81200000-0x00000000_812FFFFF was not initinally on memblock.
>    0x00000000_80000000-0x00000000_81200000 was removed as no-map through device tree.
>    how can we find the hole, 0x00000000_81200000-0x00000000_812FFFFF ?

nomap regions are shown in debugfs/memblock/memory as NOMAP.

-- 
Sincerely yours,
Mike.


  reply	other threads:[~2024-05-27 16:24 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20240521024009epcas1p10ed9f9b929203183a29f79508e79bb76@epcas1p1.samsung.com>
2024-05-21  2:39 ` [RESEND PATCH 00/10] memblock: introduce memsize showing reserved memory Jaewon Kim
2024-05-21  2:39   ` [RESEND PATCH 01/10] " Jaewon Kim
2024-05-21  2:39   ` [RESEND PATCH 02/10] memblock: detect hidden memory hole size Jaewon Kim
2024-05-21  2:39   ` [RESEND PATCH 03/10] memblock: handle overlapped reserved memory region Jaewon Kim
2024-05-21  2:39   ` [RESEND PATCH 04/10] memblock: take a region intersecting an unknown region Jaewon Kim
2024-05-21  2:39   ` [RESEND PATCH 05/10] memblock: track memblock changed at early param Jaewon Kim
2024-05-21  2:39   ` [RESEND PATCH 06/10] memblock: recognize late freed size by checking PageReserved Jaewon Kim
2024-05-21  2:39   ` [RESEND PATCH 07/10] memblock: track kernel size on memsize Jaewon Kim
2024-05-22 19:03     ` kernel test robot
2024-05-21  2:39   ` [RESEND PATCH 08/10] memblock: print memsize summary information Jaewon Kim
2024-05-21  2:39   ` [RESEND PATCH 09/10] memblock: print kernel internal size Jaewon Kim
2024-05-22 18:52     ` kernel test robot
2024-05-21  2:39   ` [RESEND PATCH 10/10] memblock: support memsize reusable to consider as reusable Jaewon Kim
2024-05-22 22:40     ` kernel test robot
2024-05-23 10:55       ` Jaewon Kim
2024-05-21  2:53   ` [RESEND PATCH 00/10] memblock: introduce memsize showing reserved memory Jaewon Kim
2024-05-21  7:31     ` Mike Rapoport
2024-05-21 10:17       ` Jaewon Kim
2024-05-22  8:16         ` (2) " Wei Yang
2024-05-22  8:47           ` Jaewon Kim
2024-05-23  8:55             ` Wei Yang
2024-05-23  9:23               ` 김재원
2024-05-23 14:34         ` (2) " Mike Rapoport
2024-05-24  9:07           ` Jaewon Kim
2024-05-26 13:55             ` Mike Rapoport
2024-05-27  1:30               ` Jaewon Kim
2024-05-27  1:35               ` Jaewon Kim
2024-05-27 16:22                 ` Mike Rapoport [this message]
     [not found]             ` <CGME20240521024009epcas1p10ed9f9b929203183a29f79508e79bb76@epcms1p7>
     [not found]               ` <20240529095119epcms1p73f0e9ff756bcb2ee6a14db459128a644@epcms1p7>
2024-05-29 11:35                 ` Wei Yang
2024-05-29 13:10                   ` Jaewon Kim
2024-05-30  0:03                     ` Wei Yang
2024-05-30 10:49                       ` Jaewon Kim
2024-05-31  1:05                         ` (2) " Wei Yang
2024-05-31  8:21                           ` Jaewon Kim
2024-06-01  1:40                             ` Wei Yang
2024-06-03  9:33                               ` Jaewon Kim
2024-05-24 17:33           ` Pintu Agarwal
2024-05-22  8:20     ` Wei Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZlSzTOSu06ziefUj@kernel.org \
    --to=rppt@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=jaewon31.kim@gmail.com \
    --cc=jaewon31.kim@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=pintu.ping@gmail.com \
    --cc=richard.weiyang@gmail.com \
    --cc=tkjos@google.com \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.