mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
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>
This commit is contained in:
committed by
Brian Behlendorf
parent
4f60152910
commit
9829574834
@@ -57,8 +57,11 @@
|
||||
#define MAXUID UINT32_MAX /* max user id */
|
||||
#define MAXPROJID MAXUID /* max project id */
|
||||
|
||||
#ifndef PAGESIZE
|
||||
#define PAGESIZE (sysconf(_SC_PAGESIZE))
|
||||
#ifdef PAGESIZE
|
||||
#undef PAGESIZE
|
||||
#endif /* PAGESIZE */
|
||||
|
||||
extern size_t spl_pagesize(void);
|
||||
#define PAGESIZE (spl_pagesize())
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user