android_kernel_google_msm/fs
Rafael Aquini 29af476bb5 mm: export NR_SHMEM via sysinfo(2) / si_meminfo() interfaces
Historically, we exported shared pages to userspace via sysinfo(2)
sharedram and /proc/meminfo's "MemShared" fields.  With the advent of
tmpfs, from kernel v2.4 onward, that old way for accounting shared mem
was deemed inaccurate and we started to export a hard-coded 0 for
sysinfo.sharedram.  Later on, during the 2.6 timeframe, "MemShared" got
re-introduced to /proc/meminfo re-branded as "Shmem", but we're still
reporting sysinfo.sharedmem as that old hard-coded zero, which makes the
"shared memory" report inconsistent across interfaces.

This patch leverages the addition of explicit accounting for pages used
by shmem/tmpfs -- "4b02108 mm: oom analysis: add shmem vmstat" -- in
order to make the users of sysinfo(2) and si_meminfo*() friends aware of
that vmstat entry and make them report it consistently across the
interfaces, as well to make sysinfo(2) returned data consistent with our
current API documentation states.

Change-Id: I51474973cc267ee368352e96e7229e0101f38aca
Signed-off-by: Rafael Aquini <aquini@redhat.com>
Acked-by: Rik van Riel <riel@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-12-01 19:08:36 +01:00
..
9p mm: kill vma flag VM_CAN_NONLINEAR 2020-11-19 11:23:37 +01:00
adfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
affs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
afs don't pass nameidata to ->create() 2018-12-07 22:28:00 +04:00
autofs4 stop passing nameidata to ->lookup() 2018-12-07 22:26:28 +04:00
befs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
bfs don't pass nameidata to ->create() 2018-12-07 22:28:00 +04:00
btrfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
cachefiles don't pass nameidata * to vfs_create() 2018-12-07 22:28:48 +04:00
ceph mm: kill vma flag VM_CAN_NONLINEAR 2020-11-19 11:23:37 +01:00
cifs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
coda fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
configfs stop passing nameidata to ->lookup() 2018-12-07 22:26:28 +04:00
cramfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
crypto
debugfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
devpts fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
dlm
ecryptfs don't pass nameidata * to vfs_create() 2018-12-07 22:28:48 +04:00
efs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
exfat exfat: don't pass nameidata to ->create() / stop passing nameidata to ->lookup() 2020-10-05 12:24:49 +02:00
exofs don't pass nameidata to ->create() 2018-12-07 22:28:00 +04:00
exportfs
ext2 fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
ext3 fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
ext4 fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
f2fs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
fat fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
freevxfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
fscache
fuse fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
gfs2 fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
hfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
hfsplus fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
hostfs don't pass nameidata to ->create() 2018-12-07 22:28:00 +04:00
hpfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
hppfs stop passing nameidata to ->lookup() 2018-12-07 22:26:28 +04:00
hugetlbfs don't pass nameidata to ->create() 2018-12-07 22:28:00 +04:00
isofs stop passing nameidata to ->lookup() 2018-12-07 22:26:28 +04:00
jbd
jbd2
jffs2 fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
jfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
lockd
logfs don't pass nameidata to ->create() 2018-12-07 22:28:00 +04:00
minix fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
ncpfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
nfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
nfs_common
nfsd don't pass nameidata * to vfs_create() 2018-12-07 22:28:48 +04:00
nilfs2 fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
nls
notify fanotify: check file flags passed in fanotify_init 2018-12-07 22:28:48 +04:00
ntfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
ocfs2 fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
omfs don't pass nameidata to ->create() 2018-12-07 22:28:00 +04:00
openpromfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
proc mm: export NR_SHMEM via sysinfo(2) / si_meminfo() interfaces 2020-12-01 19:08:36 +01:00
pstore fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
qnx4 fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
qnx6 fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
quota vfs: define struct filename and have getname() return it 2018-12-07 22:28:48 +04:00
ramfs don't pass nameidata to ->create() 2018-12-07 22:28:00 +04:00
reiserfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
romfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
sdcardfs mm: kill vma flag VM_CAN_NONLINEAR 2020-11-19 11:23:37 +01:00
squashfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
sysfs stop passing nameidata to ->lookup() 2018-12-07 22:26:28 +04:00
sysv fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
ubifs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
udf fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
ufs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
xfs fs: push sync_filesystem() down to the file system's remount_fs() 2020-11-19 11:23:46 +01:00
yaffs2
aio.c
anon_inodes.c
attr.c
bad_inode.c don't pass nameidata to ->create() 2018-12-07 22:28:00 +04:00
binfmt_aout.c
binfmt_elf.c
binfmt_elf_fdpic.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
binfmt_som.c
bio-integrity.c
bio.c
block_dev.c
buffer.c
char_dev.c
compat.c vfs: define struct filename and have getname() return it 2018-12-07 22:28:48 +04:00
compat_binfmt_elf.c
compat_ioctl.c
dcache.c [O_TMPFILE] it's still short a few helpers, but infrastructure should be OK now... 2018-12-07 22:28:48 +04:00
dcookies.c
direct-io.c
drop_caches.c
eventfd.c
eventpoll.c
exec.c vfs: make path_openat take a struct filename pointer 2018-12-07 22:28:48 +04:00
fcntl.c vfs: add missing check for __O_TMPFILE in fcntl_init() 2018-12-07 22:28:48 +04:00
fhandle.c
fifo.c
file.c
file_table.c
filesystems.c vfs: define struct filename and have getname() return it 2018-12-07 22:28:48 +04:00
fs-writeback.c
fs_struct.c
generic_acl.c
inode.c allow the temp files created by open() to be linked to 2018-12-07 22:28:48 +04:00
internal.h vfs: make path_openat take a struct filename pointer 2018-12-07 22:28:48 +04:00
ioctl.c
ioprio.c
Kconfig exFAT support 2020-10-05 11:42:38 +02:00
Kconfig.binfmt
libfs.c stop passing nameidata to ->lookup() 2018-12-07 22:26:28 +04:00
locks.c
Makefile exFAT support 2020-10-05 11:42:38 +02:00
mbcache.c
mount.h
mpage.c
namei.c path_openat(): fix double fput() 2018-12-07 22:28:48 +04:00
namespace.c vfs: define struct filename and have getname() return it 2018-12-07 22:28:48 +04:00
no-block.c
open.c fs: Fix file mode for O_TMPFILE 2018-12-07 22:28:48 +04:00
pipe.c
pnode.c
pnode.h
posix_acl.c
proc_namespace.c
read_write.c
read_write.h
readdir.c
select.c
seq_file.c
signalfd.c
splice.c
stack.c
stat.c vfs: make O_PATH file descriptors usable for 'fstat()' 2020-11-24 22:49:23 +01:00
statfs.c
super.c vmscan: remove obsolete shrink_control comment 2020-11-18 10:38:32 +01:00
sync.c fs/sync.c: make sync_file_range(2) use WB_SYNC_NONE writeback 2017-12-31 13:02:49 +03:00
timerfd.c
utimes.c
xattr.c
xattr_acl.c