aboutsummaryrefslogtreecommitdiffstats
path: root/module/zfs/abd.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix incorrect operator in abd_alloc_sametype()luozhengzheng2016-12-011-1/+1
| | | | | | | | This should be & and not | so is_metadata is set correctly. Reviewed-by: Dan Kimmel <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: luozhengzheng <[email protected]> Closes #5438
* ABD optimized page allocation codeChunwei Chen2016-11-291-131/+412
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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 <[email protected]> Gvozden Neskovic <[email protected]> Jinshan Xiong <[email protected]> Isaac Huang <[email protected]> David Quigley <[email protected]> Brian Behlendorf <[email protected]>
* ABD kmap to kmap_atomicChunwei Chen2016-11-291-35/+49
| | | | | Convert usage of kmap to kmap_atomic while correctly saving off irq state.
* ABD changes for vectorized RAIDZGvozden Neskovic2016-11-291-8/+190
| | | | | | | | | | * userspace: aligned buffers. Minimum of 32B alignment is needed for AVX2. Kernel buffers are aligned 512B or more. * add abd_get_offset_size() interface * abd_iter_map(): fix calculation of iter_mapsize * add abd_raidz_gen_iterate() and abd_raidz_rec_iterate() Signed-off-by: Gvozden Neskovic <[email protected]>
* ABD page support to vdev_disk.cIsaac Huang2016-11-291-1/+59
| | | | Signed-off-by: Isaac Huang <[email protected]>
* DLPX-44812 integrate EP-220 large memory scalabilityDavid Quigley2016-11-291-0/+1008