From: Leon Romanovsky <leon@kernel.org>
To: Jaewon Kim <jaewon31.kim@samsung.com>
Cc: adobriyan@gmail.com, akpm@linux-foundation.org,
labbott@redhat.com, sumit.semwal@linaro.org, minchan@kernel.org,
ngupta@vflare.org, sergey.senozhatsky.work@gmail.com,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
jaewon31.kim@gmail.com
Subject: Re: [RFC PATCH 0/3] meminfo: introduce extra meminfo
Date: Wed, 11 Mar 2020 09:25:09 +0200 [thread overview]
Message-ID: <20200311072509.GH4215@unreal> (raw)
In-Reply-To: <20200311034441.23243-1-jaewon31.kim@samsung.com>
On Wed, Mar 11, 2020 at 12:44:38PM +0900, Jaewon Kim wrote:
> /proc/meminfo or show_free_areas does not show full system wide memory
> usage status. There seems to be huge hidden memory especially on
> embedded Android system. Because it usually have some HW IP which do not
> have internal memory and use common DRAM memory.
>
> In Android system, most of those hidden memory seems to be vmalloc pages
> , ion system heap memory, graphics memory, and memory for DRAM based
> compressed swap storage. They may be shown in other node but it seems to
> useful if /proc/meminfo shows all those extra memory information. And
> show_mem also need to print the info in oom situation.
>
> Fortunately vmalloc pages is alread shown by commit 97105f0ab7b8
> ("mm: vmalloc: show number of vmalloc pages in /proc/meminfo"). Swap
> memory using zsmalloc can be seen through vmstat by commit 91537fee0013
> ("mm: add NR_ZSMALLOC to vmstat") but not on /proc/meminfo.
>
> Memory usage of specific driver can be various so that showing the usage
> through upstream meminfo.c is not easy. To print the extra memory usage
> of a driver, introduce following APIs. Each driver needs to count as
> atomic_long_t.
>
> int register_extra_meminfo(atomic_long_t *val, int shift,
> const char *name);
> int unregister_extra_meminfo(atomic_long_t *val);
>
> Currently register ION system heap allocator and zsmalloc pages.
> Additionally tested on local graphics driver.
>
> i.e) cat /proc/meminfo | tail -3
> IonSystemHeap: 242620 kB
> ZsPages: 203860 kB
> GraphicDriver: 196576 kB
>
> i.e.) show_mem on oom
> <6>[ 420.856428] Mem-Info:
> <6>[ 420.856433] IonSystemHeap:32813kB ZsPages:44114kB GraphicDriver::13091kB
> <6>[ 420.856450] active_anon:957205 inactive_anon:159383 isolated_anon:0
The idea is nice and helpful, but I'm sure that the interface will be abused
almost immediately. I expect that every driver will register to such API.
First it will be done by "large" drivers and after that everyone will copy/paste.
Thanks
next prev parent reply other threads:[~2020-03-11 7:25 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20200311034454epcas1p2ef0c0081971dd82282583559398e58b2@epcas1p2.samsung.com>
2020-03-11 3:44 ` [RFC PATCH 0/3] meminfo: introduce extra meminfo Jaewon Kim
[not found] ` <CGME20200311034454epcas1p184680d40f89d37eec7f934074c4a9fcf@epcas1p1.samsung.com>
2020-03-11 3:44 ` [RFC PATCH 1/3] proc/meminfo: " Jaewon Kim
2020-03-11 6:18 ` Sergey Senozhatsky
2020-03-11 6:25 ` Sergey Senozhatsky
2020-03-11 6:30 ` Jaewon Kim
2020-03-11 17:35 ` Alexey Dobriyan
2020-03-13 4:53 ` Jaewon Kim
[not found] ` <CGME20200311034454epcas1p13f7806e51b19c7848148c20ce3841b1b@epcas1p1.samsung.com>
2020-03-11 3:44 ` [RFC PATCH 2/3] mm: zsmalloc: include zs page size in proc/meminfo Jaewon Kim
[not found] ` <CGME20200311034454epcas1p46f44b4c1e75fa52b7598749566228a11@epcas1p4.samsung.com>
2020-03-11 3:44 ` [RFC PATCH 3/3] android: ion: include system heap " Jaewon Kim
2020-03-11 7:25 ` Leon Romanovsky [this message]
2020-03-13 4:39 ` [RFC PATCH 0/3] meminfo: introduce extra meminfo Jaewon Kim
2020-03-13 7:21 ` Leon Romanovsky
2020-03-13 15:19 ` Vlastimil Babka
2020-03-13 17:48 ` Leon Romanovsky
2020-03-16 4:07 ` Jaewon Kim
2020-03-16 8:31 ` Leon Romanovsky
2020-03-17 3:04 ` Jaewon Kim
2020-03-17 14:37 ` Leon Romanovsky
2020-03-18 8:58 ` Jaewon Kim
2020-03-18 10:58 ` Leon Romanovsky
2020-03-20 10:00 ` Dave Young
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=20200311072509.GH4215@unreal \
--to=leon@kernel.org \
--cc=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=jaewon31.kim@gmail.com \
--cc=jaewon31.kim@samsung.com \
--cc=labbott@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=minchan@kernel.org \
--cc=ngupta@vflare.org \
--cc=sergey.senozhatsky.work@gmail.com \
--cc=sumit.semwal@linaro.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).