Re: [PATCH] proc/meminfo: add MemKernel counter

From: Michal Hocko
Date: Wed May 22 2019 - 11:55:04 EST


On Wed 22-05-19 17:40:09, Konstantin Khlebnikov wrote:
> Some kinds of kernel allocations are not accounted or not show in meminfo.
> For example vmalloc allocations are tracked but overall size is not shown
> for performance reasons. There is no information about network buffers.
>
> In most cases detailed statistics is not required. At first place we need
> information about overall kernel memory usage regardless of its structure.
>
> This patch estimates kernel memory usage by subtracting known sizes of
> free, anonymous, hugetlb and caches from total memory size: MemKernel =
> MemTotal - MemFree - Buffers - Cached - SwapCached - AnonPages - Hugetlb.

Why do we need to export something that can be calculated in the
userspace trivially? Also is this really something the number really
meaningful? Say you have a driver that exports memory to the userspace
via mmap but that memory is not accounted. Is this really a kernel
memory?

--
Michal Hocko
SUSE Labs