linux-stable/drivers
Roman Gushchin d42f3245c7 mm: memcg: convert vmstat slab counters to bytes
In order to prepare for per-object slab memory accounting, convert
NR_SLAB_RECLAIMABLE and NR_SLAB_UNRECLAIMABLE vmstat items to bytes.

To make it obvious, rename them to NR_SLAB_RECLAIMABLE_B and
NR_SLAB_UNRECLAIMABLE_B (similar to NR_KERNEL_STACK_KB).

Internally global and per-node counters are stored in pages, however memcg
and lruvec counters are stored in bytes.  This scheme may look weird, but
only for now.  As soon as slab pages will be shared between multiple
cgroups, global and node counters will reflect the total number of slab
pages.  However memcg and lruvec counters will be used for per-memcg slab
memory tracking, which will take separate kernel objects in the account.
Keeping global and node counters in pages helps to avoid additional
overhead.

The size of slab memory shouldn't exceed 4Gb on 32-bit machines, so it
will fit into atomic_long_t we use for vmstats.

Signed-off-by: Roman Gushchin <guro@fb.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Shakeel Butt <shakeelb@google.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Christoph Lameter <cl@linux.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Tejun Heo <tj@kernel.org>
Link: http://lkml.kernel.org/r/20200623174037.3951353-4-guro@fb.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-08-07 11:33:24 -07:00
..
accessibility TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
acpi This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
amba
android drivers: android: Fix the SPDX comment style 2020-07-29 17:05:44 +02:00
ata treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
atm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
auxdisplay
base mm: memcg: convert vmstat slab counters to bytes 2020-08-07 11:33:24 -07:00
bcma bcma: gpio: Use irqchip template 2020-08-02 18:26:51 +03:00
block This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
bluetooth Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next 2020-07-31 15:11:52 -07:00
bus MIPS upates for v5.9 2020-08-06 10:54:07 -07:00
cdrom cdrom: remove the unused cdrom_media_changed function 2020-07-08 16:20:01 -06:00
char drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
clk Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
clocksource Time, timers and related driver updates: 2020-08-04 18:17:37 -07:00
connector
counter Merge branch 'ib-5.8-tcb' into HEAD 2020-07-22 14:37:23 +01:00
cpufreq Power management updates for 5.9-rc1 2020-08-03 20:28:08 -07:00
cpuidle cpuidle: change enter_s2idle() prototype 2020-07-29 18:38:30 +02:00
crypto mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
dax
dca
devfreq PM / devfreq: Fix the wrong end with semicolon 2020-07-30 17:22:58 +09:00
dio
dma drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
dma-buf Linux 5.8-rc6 2020-07-24 08:48:05 +10:00
edac 17ed808ad2 ("EDAC: Fix reference count leaks") 2020-08-03 20:01:00 -07:00
eisa
extcon
firewire treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
firmware This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
fpga Linux 5.8-rc7 2020-07-27 11:49:37 +02:00
fsi
gnss
gpio This is the bulk of GPIO changes for the v5.9 kernel cycle: 2020-08-05 12:56:27 -07:00
gpu sound updates for 5.9 2020-08-06 14:27:31 -07:00
greybus greybus: Use fallthrough pseudo-keyword 2020-07-29 16:58:08 +02:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid into master 2020-07-17 09:43:13 -07:00
hsi
hv hyperv-next for 5.9 2020-08-06 09:26:10 -07:00
hwmon hwmon updates for v5.9 2020-08-05 13:13:57 -07:00
hwspinlock
hwtracing coresight: etm4x: Fix save/restore during cpu idle 2020-07-21 15:48:40 +02:00
i2c Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
i3c
ide treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
idle Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
iio iio: imu: st_lsm6dsx: reset hw ts after resume 2020-07-22 14:55:43 +01:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
input Staging/IIO driver patches for 5.9-rc1 2020-08-06 14:36:13 -07:00
interconnect Char/Misc driver patches for 5.9-rc1 2020-08-05 11:43:47 -07:00
iommu dma-mapping updates for 5.9 2020-08-04 17:29:57 -07:00
ipack
irqchip The usual boring updates from the interrupt subsystem: 2020-08-04 18:11:58 -07:00
isdn mISDN: Don't try to print a sockptr_t from debug logging code. 2020-07-24 16:36:13 -07:00
leds LEDs changes for 5.9-rc1. 2020-08-05 19:24:27 -07:00
lightnvm
macintosh dma-mapping: make support for dma ops optional 2020-07-19 09:29:23 +02:00
mailbox
mcb
md mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
media This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
memory MIPS upates for v5.9 2020-08-06 10:54:07 -07:00
memstick MMC core: 2020-08-05 13:23:24 -07:00
message
mfd irqdomain/treewide: Free firmware node after domain removal 2020-07-23 00:08:52 +02:00
misc mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
mmc This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
most drivers: most: add USB adapter driver 2020-07-31 14:38:12 +02:00
mtd Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
mux
net mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
nfc nfc: s3fwrn5: add missing release on skb in s3fwrn5_recv_frame 2020-07-20 18:31:33 -07:00
ntb
nubus
nvdimm for-5.9/block-20200802 2020-08-03 11:57:03 -07:00
nvme for-5.9/block-merge-20200804 2020-08-05 11:12:34 -07:00
nvmem nvmem: qcom-spmi-sdam: Enable multiple devices 2020-07-29 17:12:09 +02:00
of MIPS upates for v5.9 2020-08-06 10:54:07 -07:00
opp Merge branches 'pm-em' and 'pm-core' 2020-08-03 13:11:39 +02:00
oprofile
parisc
parport
pci Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
pcmcia
perf arm64 and cross-arch updates for 5.9: 2020-08-03 14:11:08 -07:00
phy phy for 5.9 2020-07-23 09:52:10 +02:00
pinctrl This is the bulk of GPIO changes for the v5.9 kernel cycle: 2020-08-05 12:56:27 -07:00
platform Staging/IIO driver patches for 5.9-rc1 2020-08-06 14:36:13 -07:00
pnp
power
powercap This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
pps
ps3
ptp ptp: only allow phase values lower than 1 period 2020-08-05 12:06:44 -07:00
pwm
rapidio
ras
regulator Merge remote-tracking branch 'regulator/for-5.9' into regulator-next 2020-07-30 23:27:08 +01:00
remoteproc
reset SOC: TI Keystone driver update for v5.9 2020-07-27 14:24:51 +02:00
rpmsg
rtc
s390 mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
sbus
scsi hyperv-next for 5.9 2020-08-06 09:26:10 -07:00
sfi
sh
siox
slimbus
soc ARM: SoC driver updates for v5.9 2020-08-03 19:30:59 -07:00
soundwire soundwire updates for 5.9-rc1 2020-07-23 09:12:15 +02:00
spi sound updates for 5.9 2020-08-06 14:27:31 -07:00
spmi
ssb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
staging mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
target mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
tc
tee Enable multi-stage OP-TEE bus enumeration 2020-07-13 15:11:44 +02:00
thermal This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
thunderbolt
tty TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
uio Merge branch 'char-misc-linus' into 'char-misc-next' 2020-07-10 13:42:33 +02:00
usb TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
vdpa dma-mapping: make support for dma ops optional 2020-07-19 09:29:23 +02:00
vfio vfio/pci: fix racy on error and request eventfd ctx 2020-07-17 08:28:40 -06:00
vhost Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
video TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
virt virt: vbox: Fix some comments which talk about the "session spinlock" 2020-07-10 13:45:32 +02:00
virtio Remove uninitialized_var() macro for v5.9-rc1 2020-08-04 13:49:43 -07:00
visorbus
vlynq
vme
w1
watchdog
xen dma-mapping: make support for dma ops optional 2020-07-19 09:29:23 +02:00
zorro
Kconfig
Makefile