zfs/module/spl
Andrey Vesnovaty bdfbe594a1 Expose max/min objs per slab and max slab size
By default maximal number of objects in slab can't exceed (16*2 - 1) and slab
size can't exceed 32M.
Today's high end servers having couple hundreds of RAM available for ARC may
run into a trouble with virtual memory because of the restriction mentioned
above.

Problem:
Reasons for very high number of virtual memory allocations:
	* Real slab size very small relative to the size of the entire RAM
	* Slabs allocated on virtual memory and fill entire ARC

The result is very high number of allocated virtual memory ranges (hundreds of
ranges). When virtual memory subsystem manages high number of ranges its
performance become so poor that it freezes from time to time.

Solution:
Number of objects per slab should be increased taking into account maximal
slab size which can also be increased if needed.

Signed-off-by: Andrey Vesnovaty <andrey.vesnovaty@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #337
2014-04-14 09:42:04 -07:00
..
Makefile.in Add script for builtin module building. 2012-07-26 15:13:09 -07:00
spl-atomic.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-condvar.c Linux 3.13 compat: Remove unused flags variable from __cv_init() 2013-12-02 10:11:19 -08:00
spl-cred.c splat cred:groupmember: Fix false positives 2014-04-08 12:44:41 -07:00
spl-debug.c Support post-3.13 kthread_create() semantics. 2014-04-08 12:44:42 -07:00
spl-err.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-generic.c Simplify hostid logic 2014-04-14 09:04:41 -07:00
spl-kmem.c Expose max/min objs per slab and max slab size 2014-04-14 09:42:04 -07:00
spl-kobj.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-kstat.c 3537 add kstat_waitq_enter and friends 2013-10-25 13:41:52 -07:00
spl-mutex.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-proc.c Simplify hostid logic 2014-04-14 09:04:41 -07:00
spl-rwlock.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-taskq.c Support post-3.13 kthread_create() semantics. 2014-04-08 12:44:42 -07:00
spl-thread.c Call kthread_create() correctly with fixed arguments. 2014-04-11 09:41:40 -07:00
spl-time.c Replace current_kernel_time() with getnstimeofday() 2013-10-09 13:28:30 -07:00
spl-tsd.c Linux 3.9 compat: Switch to hlist_for_each{,_rcu} 2013-03-14 10:43:34 -07:00
spl-vnode.c Linux 3.13 compat: Pass NULL for new delegated inode argument 2013-12-02 10:37:49 -08:00
spl-xdr.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-zlib.c Refresh links to web site 2013-03-04 19:09:34 -08:00