]> git.proxmox.com Git - mirror_zfs.git/commit
ABD optimized page allocation code
authorChunwei Chen <david.chen@osnexus.com>
Wed, 26 Oct 2016 04:32:23 +0000 (00:32 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 29 Nov 2016 22:34:33 +0000 (14:34 -0800)
commit982957483450d53683681f456d1c84cfeb56afad
tree6efbe72e9a2b57474e855dae9d74377443bc9f27
parent4f60152910c6bbc1c7975409f852af7ef11c7007
ABD optimized page allocation code

* Convert ABD to use the Linux Kernel scatterlist implementation
  instead of the hand rolled one from illumos.

* Scatter ABDs are preferentially populated with higher order
  compound pages from a single zone.  Allocation size is
  progressively decreased until it can be satisfied without
  performing reclaim or compaction.

* An alternate page allocator is provided for kernels older
  than 3.6 and for CONFIG_HIGHMEM systems.  This allocator
  is designed as a fallback for maximum compatibility.

* Extended abdstats to provide visibility in the the allocator.

* Add cached value for PAGESIZE in userspace.

Contributions-by:
Chunwei Chen <david.chen@osnexus.com>
Gvozden Neskovic <neskovic@gmail.com>
Jinshan Xiong <jinshan.xiong@intel.com>
Isaac Huang <he.huang@intel.com>
David Quigley <david.quigley@intel.com>
Brian Behlendorf <behlendorf1@llnl.gov>
include/sys/abd.h
lib/libspl/Makefile.am
lib/libspl/include/sys/param.h
lib/libspl/page.c [new file with mode: 0644]
module/zfs/abd.c