mirror_zfs/include/os/linux/spl/sys
Michael Niewöhner 66955885e2 Make use of kvmalloc if available and fix vmem_alloc implementation
This patch implements use of kvmalloc for GFP_KERNEL allocations, which
may increase performance if the allocator is able to allocate physical
memory, if kvmalloc is available as a public kernel interface (since
v4.12). Otherwise it will simply fall back to virtual memory (vmalloc).

Also fix vmem_alloc implementation which can lead to slow allocations
since the first attempt with kmalloc does not make use of the noretry
flag but tells the linux kernel to retry several times before it fails.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Matt Ahrens <matt@delphix.com>
Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>
Closes #9034
2019-11-13 10:05:10 -08:00
..
acl.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
atomic.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
byteorder.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
callb.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
callo.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
cmn_err.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
condvar.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
console.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
cred.h Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
ctype.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
debug.h Enable compiler to typecheck logging 2019-09-12 13:28:26 -07:00
disp.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
dkio.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
errno.h Move platform dependent errno aliases 2019-10-25 13:40:50 -07:00
fcntl.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
file.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
inttypes.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
isa_defs.h Preliminary support for RV64G 2019-11-06 10:56:09 -08:00
kmem_cache.h Name anonymous enum of KMC_BIT constants 2019-10-18 13:25:44 -04:00
kmem.h Make use of kvmalloc if available and fix vmem_alloc implementation 2019-11-13 10:05:10 -08:00
kobj.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
kstat.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
list.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
Makefile.am Add tracepoints for taskq entry lifetime events 2019-11-01 13:14:54 -07:00
mod_os.h Wrap Linux module macros 2019-11-01 10:41:03 -07:00
mode.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
mutex.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
param.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
proc.h Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
processor.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
procfs_list.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
random.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
rwlock.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
shrinker.h Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
sid.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
signal.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
simd.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
stat.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
strings.h Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
sunddi.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
sysmacros.h Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
systeminfo.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
taskq.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
thread.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
time.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
timer.h Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
trace_spl.h Add tracepoints for taskq entry lifetime events 2019-11-01 13:14:54 -07:00
trace_taskq.h Add tracepoints for taskq entry lifetime events 2019-11-01 13:14:54 -07:00
trace.h Enable use of DTRACE_PROBE* macros in "spl" module 2019-11-01 13:13:43 -07:00
tsd.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
types32.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
types.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
uio.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
user.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
vfs.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
vmem.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
vmsystm.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
vnode.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
wait.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00
zmod.h Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
zone.h OpenZFS restructuring - move platform specific headers 2019-09-05 09:34:54 -07:00