Btrfs: use a slab for ordered extents allocation
authorMiao Xie <miaox@cn.fujitsu.com>
Thu, 6 Sep 2012 10:01:51 +0000 (04:01 -0600)
committerChris Mason <chris.mason@fusionio.com>
Mon, 1 Oct 2012 19:19:11 +0000 (15:19 -0400)
commit6352b91da1a2108bb8cc5115e8714f90d706f15f
tree41897bbe836bb7f8b2bbfef24528407d1c79b8b0
parentb9a8cc5bef963b76c5b6c3016b7e91988a3e758b
Btrfs: use a slab for ordered extents allocation

The ordered extent allocation is in the fast path of the IO, so use a slab
to improve the speed of the allocation.

 "Size of the struct is 280, so this will fall into the size-512 bucket,
  giving 8 objects per page, while own slab will pack 14 objects into a page.

  Another benefit I see is to check for leaked objects when the module is
  removed (and the cache destroy takes place)."
-- David Sterba

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
fs/btrfs/ordered-data.c
fs/btrfs/ordered-data.h
fs/btrfs/super.c