ceph: move sb->wb_pagevec_pool to be a global mempool
authorJeff Layton <jlayton@kernel.org>
Thu, 30 Jul 2020 15:03:55 +0000 (11:03 -0400)
committerIlya Dryomov <idryomov@gmail.com>
Tue, 4 Aug 2020 17:41:12 +0000 (19:41 +0200)
commita0102bda5bc0991c5c8c7c07770b236894a810fd
tree19cc129432e28e3bd4d52fd5a761b92d3d5edaa7
parentb748fc7a8763a5b3f8149f12c45711cd73ef8176
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>
fs/ceph/addr.c
fs/ceph/super.c
fs/ceph/super.h
include/linux/ceph/libceph.h