linux/fs/ceph
Nikolay Borisov 6b1a9a6c54 ceph: Mark the file cache as unreclaimable
Ceph creates multiple caches with the SLAB_RECLAIMABLE flag set, so
that it can satisfy its internal needs. Inspecting the code shows that
most of the caches are indeed reclaimable since they are directly
related to the generic inode/dentry shrinkers. However, one of the
cache used to satisfy struct file is not reclaimable since its
entries are freed only when the last reference to the file is
dropped. If a heavily loaded node opens a lot of files it can
introduce non-trivial discrepancies between memory shown as reclaimable
and what is actually reclaimed when drop_caches is used.

Fix this by removing the reclaimable flag for the file's cache.

Signed-off-by: Nikolay Borisov <n.borisov.lkml@gmail.com>
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-07-28 03:00:45 +02:00
..
acl.c ceph: Get rid of d_find_alias in ceph_set_acl 2016-04-23 15:41:30 -04:00
addr.c ceph: rados pool namespace support 2016-07-28 02:55:38 +02:00
cache.c ceph: fix spelling mistake: "resgister" -> "register" 2016-07-28 02:55:40 +02:00
cache.h ceph: improve fscache revalidation 2016-06-01 10:31:50 +02:00
caps.c ceph: optimize cap flush waiting 2016-07-28 03:00:45 +02:00
ceph_frag.c ceph: factor out libceph from Ceph file system 2010-10-20 15:37:28 -07:00
debugfs.c ceph: don't show symlink target in debugfs/mdsc 2016-05-26 01:15:32 +02:00
dir.c ceph: handle LOOKUP_RCU in ceph_d_revalidate 2016-07-28 03:00:39 +02:00
export.c ceph: fix d_obtain_alias() misuses 2016-06-24 23:49:03 -04:00
file.c ceph: wait unsafe sync writes for evicting inode 2016-07-28 02:55:40 +02:00
inode.c ceph: use list instead of rbtree to track cap flushes 2016-07-28 03:00:42 +02:00
ioctl.c ceph: reduce i_nr_by_mode array size 2016-07-28 02:55:39 +02:00
ioctl.h ceph: fully initialize new layout 2012-05-16 14:28:27 -05:00
Kconfig ceph: add acl for cephfs 2013-12-31 20:32:01 +02:00
locks.c Move locks API users to locks_lock_inode_wait() 2015-10-22 14:57:36 -04:00
Makefile ceph: add acl for cephfs 2013-12-31 20:32:01 +02:00
mds_client.c ceph: optimize cap flush waiting 2016-07-28 03:00:45 +02:00
mds_client.h ceph: unify cap flush and snapcap flush 2016-07-28 03:00:42 +02:00
mdsmap.c ceph: CEPH_FEATURE_MDSENC support 2016-05-26 01:15:31 +02:00
snap.c ceph: cleanup ceph_flush_snaps() 2016-07-28 03:00:44 +02:00
strings.c ceph: rename snapshot support 2015-04-22 18:33:41 +03:00
super.c ceph: Mark the file cache as unreclaimable 2016-07-28 03:00:45 +02:00
super.h ceph: optimize cap flush waiting 2016-07-28 03:00:45 +02:00
xattr.c ceph: rados pool namespace support 2016-07-28 02:55:38 +02:00