linux-uconsole/drivers/base
Vlastimil Babka e67d5ea53a UPSTREAM: mm, proc: add KReclaimable to /proc/meminfo
The vmstat NR_KERNEL_MISC_RECLAIMABLE counter is for kernel non-slab
allocations that can be reclaimed via shrinker.  In /proc/meminfo, we can
show the sum of all reclaimable kernel allocations (including slab) as
"KReclaimable".  Add the same counter also to per-node meminfo under /sys

With this counter, users will have more complete information about kernel
memory usage.  Non-slab reclaimable pages (currently just the ION
allocator) will not be missing from /proc/meminfo, making users wonder
where part of their memory went.  More precisely, they already appear in
MemAvailable, but without the new counter, it's not obvious why the value
in MemAvailable doesn't fully correspond with the sum of other counters
participating in it.

Link: http://lkml.kernel.org/r/20180731090649.16028-6-vbabka@suse.cz
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Roman Gushchin <guro@fb.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Laura Abbott <labbott@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Vijayanand Jitta <vjitta@codeaurora.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 61f94e18de)

Bug: 138148041
Test: verify KReclaimable accounting after ION allocation+deallocation
Change-Id: Ida18baca310216070f9e119fb6b1b7510db59d7a
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-12-13 14:04:45 -08:00
..
firmware_loader FROMGIT: firmware_class: make firmware caching configurable 2019-11-27 21:40:15 +00:00
power This is the 4.19.87 stable release 2019-12-01 09:53:43 +01:00
regmap soundwire: fix regmap dependencies and align with other serial links 2019-10-07 18:57:27 +02:00
test driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
arch_topology.c ANDROID: implement max frequency capping 2018-10-26 12:25:24 +01:00
attribute_container.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
base.h driver core: Establish order of operations for device_add and device_del via bitflag 2019-08-09 17:52:28 +02:00
bus.c kobject: return error code if writing /sys/.../uevent fails 2019-02-12 19:47:06 +01:00
cacheinfo.c drivers: base: cacheinfo: Ensure cpu hotplug work is done before Intel RDT 2019-07-21 09:03:03 +02:00
class.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
component.c component: fix loop condition to call unbind() if bind() fails 2019-11-20 18:46:47 +01:00
container.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
core.c FROMGIT: driver core: Allow device link operations inside sync_state() 2019-11-15 13:12:45 -08:00
cpu.c This is the 4.19.84 stable release 2019-11-14 14:15:21 +08:00
dd.c driver core: Establish order of operations for device_add and device_del via bitflag 2019-08-09 17:52:28 +02:00
devcon.c drivers: base: Unified device connection lookup 2018-03-22 13:10:29 +01:00
devcoredump.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
devres.c devres: Align data[] to ARCH_KMALLOC_MINALIGN 2019-02-12 19:46:56 +01:00
devtmpfs.c kernel: add ksys_unshare() helper; remove in-kernel calls to sys_unshare() 2018-04-02 20:16:06 +02:00
driver.c driver-core: return EINVAL error instead of BUG_ON() 2018-05-25 18:18:45 +02:00
firmware.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
hypervisor.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
init.c base: fix order of OF initialization 2018-07-07 17:54:29 +02:00
isa.c Merge 4.15-rc3 into driver-core-next 2017-12-11 08:50:05 +01:00
Kconfig UPSTREAM: Make anon_inodes unconditional 2019-08-12 13:36:37 -04:00
Makefile dma-mapping: move all DMA mapping code to kernel/dma 2018-06-14 08:50:37 +02:00
map.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
memory.c mm/memory_hotplug: Do not unlock when fails to take the device_hotplug_lock 2019-12-01 09:17:34 +01:00
module.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
node.c UPSTREAM: mm, proc: add KReclaimable to /proc/meminfo 2019-12-13 14:04:45 -08:00
pinctrl.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
platform-msi.c platform-msi: Free descriptors in platform_msi_domain_free() 2019-01-09 17:38:42 +01:00
platform.c drivers/base/platform.c: kmemleak ignore a known leak 2019-12-05 09:21:04 +01:00
property.c device property: Get rid of union aliasing 2018-05-17 12:47:21 +02:00
soc.c base: soc: Export soc_device_register/unregister APIs 2019-10-05 13:09:37 +02:00
syscore.c ANDROID: power: wakeup_reason: add an API to log wakeup reasons 2018-12-05 09:48:13 -08:00
topology.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00
transport_class.c driver core: Remove redundant license text 2017-12-07 18:36:44 +01:00