]> git.proxmox.com Git - mirror_spl.git/blame - man/man5/spl-module-parameters.5
Make slab reclaim more aggressive
[mirror_spl.git] / man / man5 / spl-module-parameters.5
CommitLineData
30607d9b
TF
1'\" te
2.\"
3.\" Copyright 2013 Turbo Fredriksson <turbo@bayour.com>. All rights reserved.
4.\"
5.TH SPL-MODULE-PARAMETERS 5 "Nov 18, 2013"
6.SH NAME
7spl\-module\-parameters \- SPL module parameters
8.SH DESCRIPTION
9.sp
10.LP
11Description of the different parameters to the SPL module.
12
13.SS "Module parameters"
14.sp
15.LP
16
17.sp
18.ne 2
19.na
20\fBspl_debug_subsys\fR (ulong)
21.ad
22.RS 12n
23Subsystem debugging level mask.
24.sp
25Default value: \fB~0\fR.
26.RE
27
28.sp
29.ne 2
30.na
31\fBspl_debug_mask\fR (ulong)
32.ad
33.RS 12n
34Debugging level mask.
35.sp
36Default value: \fB8 | 10 | 4 | 20\fR (SD_ERROR | SD_EMERG | SD_WARNING | SD_CONSOLE).
37.RE
38
39.sp
40.ne 2
41.na
42\fBspl_debug_printk\fR (ulong)
43.ad
44.RS 12n
45Console printk level mask.
46.sp
47Default value: \fB8 | 10 | 4 | 20\fR (SD_ERROR | SD_EMERG | SD_WARNING | SD_CONSOLE).
48.RE
49
50.sp
51.ne 2
52.na
53\fBspl_debug_mb\fR (int)
54.ad
55.RS 12n
56Total debug buffer size.
57.sp
58Default value: \fB-1\fR.
59.RE
60
61.sp
62.ne 2
63.na
64\fBspl_debug_panic_on_bug\fR (int)
65.ad
66.RS 12n
67Panic on BUG
68.sp
69Use \fB1\fR for yes and \fB0\fR for no (default).
70.RE
71
72.sp
73.ne 2
74.na
75\fBspl_kmem_cache_expire\fR (uint)
76.ad
77.RS 12n
78By age (0x1) or low memory (0x2)
79.sp
80Default value: \fB0\fR.
81.RE
82
c3eabc75
BB
83.sp
84.ne 2
85.na
86\fBspl_kmem_alloc_warn\fR (uint)
87.ad
88.RS 12n
89As a general rule kmem_alloc() allocations should be small, preferably
90just a few pages since they must by physically contiguous. Therefore, a
91rate limited warning will be printed to the console for any kmem_alloc()
92which exceeds a reasonable threshold.
93
94The default warning threshold is set to eight pages but capped at 32K to
95accommodate systems using large pages. This value was selected to be small
96enough to ensure the largest allocations are quickly noticed and fixed.
97But large enough to avoid logging any warnings when a allocation size is
98larger than optimal but not a serious concern. Since this value is tunable,
99developers are encouraged to set it lower when testing so any new largish
100allocations are quickly caught. These warnings may be disabled by setting
101the threshold to zero.
102.sp
103Default value: \fB32K\fR.
104.RE
105
106.sp
107.ne 2
108.na
109\fBspl_kmem_alloc_max\fR (uint)
110.ad
111.RS 12n
112Large kmem_alloc() allocations will fail if they exceed KMALLOC_MAX_SIZE.
113Allocations which are marginally smaller than this limit may succeed but
114should still be avoided due to the expense of locating a contiguous range
115of free pages. Therefore, a maximum kmem size with reasonable safely
116margin of 4x is set. Kmem_alloc() allocations larger than this maximum
117will quickly fail. Vmem_alloc() allocations less than or equal to this
118value will use kmalloc(), but shift to vmalloc() when exceeding this value.
119.sp
120Default value: \fBKMALLOC_MAX_SIZE/4\fR.
121.RE
122
1a204968
BB
123.sp
124.ne 2
125.na
126\fBspl_kmem_cache_magazine_size\fR (uint)
127.ad
128.RS 12n
129Cache magazines are an optimization designed to minimize the cost of
130allocating memory. They do this by keeping a per-cpu cache of recently
131freed objects, which can then be reallocated without taking a lock. This
132can improve performance on highly contended caches. However, because
133objects in magazines will prevent otherwise empty slabs from being
134immediately released this may not be ideal for low memory machines.
135.sp
136For this reason \fBspl_kmem_cache_magazine_size\fR can be used to set a
137maximum magazine size. When this value is set to 0 the magazine size will
138be automatically determined based on the object size. Otherwise magazines
139will be limited to 2-256 objects per magazine (i.e per cpu). Magazines
140may never be entirely disabled in this implementation.
141.sp
142Default value: \fB0\fR.
143.RE
144
30607d9b
TF
145.sp
146.ne 2
147.na
148\fBspl_hostid\fR (ulong)
149.ad
150.RS 12n
151The system hostid.
152.sp
153Default value: \fB0xFFFFFFFF\fR (an invalid hostid!)
154.RE
155
156.sp
157.ne 2
158.na
159\fBspl_hostid_path\fR (charp)
160.ad
161.RS 12n
162The system hostid file
163.sp
164Default value: \fB/etc/hostid\fR.
165.RE
166
703371d8
AV
167.sp
168.ne 2
169.na
170\fBspl_taskq_thread_bind\fR (int)
171.ad
172.RS 12n
173Bind taskq thread to CPU
174.sp
175Default value: \fB0\fR.
176.RE