diff options
author | Jeff Layton <jlayton@kernel.org> | 2020-07-30 11:03:55 -0400 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2020-08-04 19:41:12 +0200 |
commit | a0102bda5bc0991c5c8c7c07770b236894a810fd (patch) | |
tree | 19cc129432e28e3bd4d52fd5a761b92d3d5edaa7 /include/linux/ceph/libceph.h | |
parent | b748fc7a8763a5b3f8149f12c45711cd73ef8176 (diff) | |
download | linux-rt-a0102bda5bc0991c5c8c7c07770b236894a810fd.tar.gz |
ceph: move sb->wb_pagevec_pool to be a global mempool
When doing some testing recently, I hit some page allocation failures
on mount, when creating the wb_pagevec_pool for the mount. That
requires 128k (32 contiguous pages), and after thrashing the memory
during an xfstests run, sometimes that would fail.
128k for each mount seems like a lot to hold in reserve for a rainy
day, so let's change this to a global mempool that gets allocated
when the module is plugged in.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'include/linux/ceph/libceph.h')
-rw-r--r-- | include/linux/ceph/libceph.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/ceph/libceph.h b/include/linux/ceph/libceph.h index e5ed1c541e7f..c8645f0b797d 100644 --- a/include/linux/ceph/libceph.h +++ b/include/linux/ceph/libceph.h @@ -282,6 +282,7 @@ extern struct kmem_cache *ceph_dentry_cachep; extern struct kmem_cache *ceph_file_cachep; extern struct kmem_cache *ceph_dir_file_cachep; extern struct kmem_cache *ceph_mds_request_cachep; +extern mempool_t *ceph_wb_pagevec_pool; /* ceph_common.c */ extern bool libceph_compatible(void *data); |