From: Jaewon Kim <jaewon31.kim@samsung.com>
To: Leon Romanovsky <leon@kernel.org>
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: Fri, 13 Mar 2020 13:39:14 +0900 [thread overview]
Message-ID: <5E6B0E72.7010305@samsung.com> (raw)
In-Reply-To: <20200311072509.GH4215@unreal>
On 2020년 03월 11일 16:25, Leon Romanovsky wrote:
> 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.
I thought using it is up to driver developers.
If it is abused, /proc/meminfo will show too much info. for that device.
What about a new node, /proc/meminfo_extra, to gather those info. and not
corrupting original /proc/meminfo.
Thank you
> Thanks
>
>
next prev parent reply other threads:[~2020-03-13 4:39 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 ` [RFC PATCH 0/3] meminfo: introduce extra meminfo Leon Romanovsky
2020-03-13 4:39 ` Jaewon Kim [this message]
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=5E6B0E72.7010305@samsung.com \
--to=jaewon31.kim@samsung.com \
--cc=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=jaewon31.kim@gmail.com \
--cc=labbott@redhat.com \
--cc=leon@kernel.org \
--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).