diff options
44 files changed, 792 insertions, 191 deletions
diff --git a/Documentation/ABI/testing/sysfs-kernel-slab b/Documentation/ABI/testing/sysfs-kernel-slab new file mode 100644 index 000000000000..6dcf75e594fb --- /dev/null +++ b/Documentation/ABI/testing/sysfs-kernel-slab | |||
@@ -0,0 +1,479 @@ | |||
1 | What: /sys/kernel/slab | ||
2 | Date: May 2007 | ||
3 | KernelVersion: 2.6.22 | ||
4 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
5 | Christoph Lameter <cl@linux-foundation.org> | ||
6 | Description: | ||
7 | The /sys/kernel/slab directory contains a snapshot of the | ||
8 | internal state of the SLUB allocator for each cache. Certain | ||
9 | files may be modified to change the behavior of the cache (and | ||
10 | any cache it aliases, if any). | ||
11 | Users: kernel memory tuning tools | ||
12 | |||
13 | What: /sys/kernel/slab/cache/aliases | ||
14 | Date: May 2007 | ||
15 | KernelVersion: 2.6.22 | ||
16 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
17 | Christoph Lameter <cl@linux-foundation.org> | ||
18 | Description: | ||
19 | The aliases file is read-only and specifies how many caches | ||
20 | have merged into this cache. | ||
21 | |||
22 | What: /sys/kernel/slab/cache/align | ||
23 | Date: May 2007 | ||
24 | KernelVersion: 2.6.22 | ||
25 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
26 | Christoph Lameter <cl@linux-foundation.org> | ||
27 | Description: | ||
28 | The align file is read-only and specifies the cache's object | ||
29 | alignment in bytes. | ||
30 | |||
31 | What: /sys/kernel/slab/cache/alloc_calls | ||
32 | Date: May 2007 | ||
33 | KernelVersion: 2.6.22 | ||
34 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
35 | Christoph Lameter <cl@linux-foundation.org> | ||
36 | Description: | ||
37 | The alloc_calls file is read-only and lists the kernel code | ||
38 | locations from which allocations for this cache were performed. | ||
39 | The alloc_calls file only contains information if debugging is | ||
40 | enabled for that cache (see Documentation/vm/slub.txt). | ||
41 | |||
42 | What: /sys/kernel/slab/cache/alloc_fastpath | ||
43 | Date: February 2008 | ||
44 | KernelVersion: 2.6.25 | ||
45 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
46 | Christoph Lameter <cl@linux-foundation.org> | ||
47 | Description: | ||
48 | The alloc_fastpath file is read-only and specifies how many | ||
49 | objects have been allocated using the fast path. | ||
50 | Available when CONFIG_SLUB_STATS is enabled. | ||
51 | |||
52 | What: /sys/kernel/slab/cache/alloc_from_partial | ||
53 | Date: February 2008 | ||
54 | KernelVersion: 2.6.25 | ||
55 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
56 | Christoph Lameter <cl@linux-foundation.org> | ||
57 | Description: | ||
58 | The alloc_from_partial file is read-only and specifies how | ||
59 | many times a cpu slab has been full and it has been refilled | ||
60 | by using a slab from the list of partially used slabs. | ||
61 | Available when CONFIG_SLUB_STATS is enabled. | ||
62 | |||
63 | What: /sys/kernel/slab/cache/alloc_refill | ||
64 | Date: February 2008 | ||
65 | KernelVersion: 2.6.25 | ||
66 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
67 | Christoph Lameter <cl@linux-foundation.org> | ||
68 | Description: | ||
69 | The alloc_refill file is read-only and specifies how many | ||
70 | times the per-cpu freelist was empty but there were objects | ||
71 | available as the result of remote cpu frees. | ||
72 | Available when CONFIG_SLUB_STATS is enabled. | ||
73 | |||
74 | What: /sys/kernel/slab/cache/alloc_slab | ||
75 | Date: February 2008 | ||
76 | KernelVersion: 2.6.25 | ||
77 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
78 | Christoph Lameter <cl@linux-foundation.org> | ||
79 | Description: | ||
80 | The alloc_slab file is read-only and specifies how many times | ||
81 | a new slab had to be allocated from the page allocator. | ||
82 | Available when CONFIG_SLUB_STATS is enabled. | ||
83 | |||
84 | What: /sys/kernel/slab/cache/alloc_slowpath | ||
85 | Date: February 2008 | ||
86 | KernelVersion: 2.6.25 | ||
87 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
88 | Christoph Lameter <cl@linux-foundation.org> | ||
89 | Description: | ||
90 | The alloc_slowpath file is read-only and specifies how many | ||
91 | objects have been allocated using the slow path because of a | ||
92 | refill or allocation from a partial or new slab. | ||
93 | Available when CONFIG_SLUB_STATS is enabled. | ||
94 | |||
95 | What: /sys/kernel/slab/cache/cache_dma | ||
96 | Date: May 2007 | ||
97 | KernelVersion: 2.6.22 | ||
98 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
99 | Christoph Lameter <cl@linux-foundation.org> | ||
100 | Description: | ||
101 | The cache_dma file is read-only and specifies whether objects | ||
102 | are from ZONE_DMA. | ||
103 | Available when CONFIG_ZONE_DMA is enabled. | ||
104 | |||
105 | What: /sys/kernel/slab/cache/cpu_slabs | ||
106 | Date: May 2007 | ||
107 | KernelVersion: 2.6.22 | ||
108 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
109 | Christoph Lameter <cl@linux-foundation.org> | ||
110 | Description: | ||
111 | The cpu_slabs file is read-only and displays how many cpu slabs | ||
112 | are active and their NUMA locality. | ||
113 | |||
114 | What: /sys/kernel/slab/cache/cpuslab_flush | ||
115 | Date: April 2009 | ||
116 | KernelVersion: 2.6.31 | ||
117 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
118 | Christoph Lameter <cl@linux-foundation.org> | ||
119 | Description: | ||
120 | The file cpuslab_flush is read-only and specifies how many | ||
121 | times a cache's cpu slabs have been flushed as the result of | ||
122 | destroying or shrinking a cache, a cpu going offline, or as | ||
123 | the result of forcing an allocation from a certain node. | ||
124 | Available when CONFIG_SLUB_STATS is enabled. | ||
125 | |||
126 | What: /sys/kernel/slab/cache/ctor | ||
127 | Date: May 2007 | ||
128 | KernelVersion: 2.6.22 | ||
129 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
130 | Christoph Lameter <cl@linux-foundation.org> | ||
131 | Description: | ||
132 | The ctor file is read-only and specifies the cache's object | ||
133 | constructor function, which is invoked for each object when a | ||
134 | new slab is allocated. | ||
135 | |||
136 | What: /sys/kernel/slab/cache/deactivate_empty | ||
137 | Date: February 2008 | ||
138 | KernelVersion: 2.6.25 | ||
139 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
140 | Christoph Lameter <cl@linux-foundation.org> | ||
141 | Description: | ||
142 | The file deactivate_empty is read-only and specifies how many | ||
143 | times an empty cpu slab was deactivated. | ||
144 | Available when CONFIG_SLUB_STATS is enabled. | ||
145 | |||
146 | What: /sys/kernel/slab/cache/deactivate_full | ||
147 | Date: February 2008 | ||
148 | KernelVersion: 2.6.25 | ||
149 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
150 | Christoph Lameter <cl@linux-foundation.org> | ||
151 | Description: | ||
152 | The file deactivate_full is read-only and specifies how many | ||
153 | times a full cpu slab was deactivated. | ||
154 | Available when CONFIG_SLUB_STATS is enabled. | ||
155 | |||
156 | What: /sys/kernel/slab/cache/deactivate_remote_frees | ||
157 | Date: February 2008 | ||
158 | KernelVersion: 2.6.25 | ||
159 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
160 | Christoph Lameter <cl@linux-foundation.org> | ||
161 | Description: | ||
162 | The file deactivate_remote_frees is read-only and specifies how | ||
163 | many times a cpu slab has been deactivated and contained free | ||
164 | objects that were freed remotely. | ||
165 | Available when CONFIG_SLUB_STATS is enabled. | ||
166 | |||
167 | What: /sys/kernel/slab/cache/deactivate_to_head | ||
168 | Date: February 2008 | ||
169 | KernelVersion: 2.6.25 | ||
170 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
171 | Christoph Lameter <cl@linux-foundation.org> | ||
172 | Description: | ||
173 | The file deactivate_to_head is read-only and specifies how | ||
174 | many times a partial cpu slab was deactivated and added to the | ||
175 | head of its node's partial list. | ||
176 | Available when CONFIG_SLUB_STATS is enabled. | ||
177 | |||
178 | What: /sys/kernel/slab/cache/deactivate_to_tail | ||
179 | Date: February 2008 | ||
180 | KernelVersion: 2.6.25 | ||
181 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
182 | Christoph Lameter <cl@linux-foundation.org> | ||
183 | Description: | ||
184 | The file deactivate_to_tail is read-only and specifies how | ||
185 | many times a partial cpu slab was deactivated and added to the | ||
186 | tail of its node's partial list. | ||
187 | Available when CONFIG_SLUB_STATS is enabled. | ||
188 | |||
189 | What: /sys/kernel/slab/cache/destroy_by_rcu | ||
190 | Date: May 2007 | ||
191 | KernelVersion: 2.6.22 | ||
192 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
193 | Christoph Lameter <cl@linux-foundation.org> | ||
194 | Description: | ||
195 | The destroy_by_rcu file is read-only and specifies whether | ||
196 | slabs (not objects) are freed by rcu. | ||
197 | |||
198 | What: /sys/kernel/slab/cache/free_add_partial | ||
199 | Date: February 2008 | ||
200 | KernelVersion: 2.6.25 | ||
201 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
202 | Christoph Lameter <cl@linux-foundation.org> | ||
203 | Description: | ||
204 | The file free_add_partial is read-only and specifies how many | ||
205 | times an object has been freed in a full slab so that it had to | ||
206 | added to its node's partial list. | ||
207 | Available when CONFIG_SLUB_STATS is enabled. | ||
208 | |||
209 | What: /sys/kernel/slab/cache/free_calls | ||
210 | Date: May 2007 | ||
211 | KernelVersion: 2.6.22 | ||
212 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
213 | Christoph Lameter <cl@linux-foundation.org> | ||
214 | Description: | ||
215 | The free_calls file is read-only and lists the locations of | ||
216 | object frees if slab debugging is enabled (see | ||
217 | Documentation/vm/slub.txt). | ||
218 | |||
219 | What: /sys/kernel/slab/cache/free_fastpath | ||
220 | Date: February 2008 | ||
221 | KernelVersion: 2.6.25 | ||
222 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
223 | Christoph Lameter <cl@linux-foundation.org> | ||
224 | Description: | ||
225 | The free_fastpath file is read-only and specifies how many | ||
226 | objects have been freed using the fast path because it was an | ||
227 | object from the cpu slab. | ||
228 | Available when CONFIG_SLUB_STATS is enabled. | ||
229 | |||
230 | What: /sys/kernel/slab/cache/free_frozen | ||
231 | Date: February 2008 | ||
232 | KernelVersion: 2.6.25 | ||
233 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
234 | Christoph Lameter <cl@linux-foundation.org> | ||
235 | Description: | ||
236 | The free_frozen file is read-only and specifies how many | ||
237 | objects have been freed to a frozen slab (i.e. a remote cpu | ||
238 | slab). | ||
239 | Available when CONFIG_SLUB_STATS is enabled. | ||
240 | |||
241 | What: /sys/kernel/slab/cache/free_remove_partial | ||
242 | Date: February 2008 | ||
243 | KernelVersion: 2.6.25 | ||
244 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
245 | Christoph Lameter <cl@linux-foundation.org> | ||
246 | Description: | ||
247 | The file free_remove_partial is read-only and specifies how | ||
248 | many times an object has been freed to a now-empty slab so | ||
249 | that it had to be removed from its node's partial list. | ||
250 | Available when CONFIG_SLUB_STATS is enabled. | ||
251 | |||
252 | What: /sys/kernel/slab/cache/free_slab | ||
253 | Date: February 2008 | ||
254 | KernelVersion: 2.6.25 | ||
255 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
256 | Christoph Lameter <cl@linux-foundation.org> | ||
257 | Description: | ||
258 | The free_slab file is read-only and specifies how many times an | ||
259 | empty slab has been freed back to the page allocator. | ||
260 | Available when CONFIG_SLUB_STATS is enabled. | ||
261 | |||
262 | What: /sys/kernel/slab/cache/free_slowpath | ||
263 | Date: February 2008 | ||
264 | KernelVersion: 2.6.25 | ||
265 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
266 | Christoph Lameter <cl@linux-foundation.org> | ||
267 | Description: | ||
268 | The free_slowpath file is read-only and specifies how many | ||
269 | objects have been freed using the slow path (i.e. to a full or | ||
270 | partial slab). | ||
271 | Available when CONFIG_SLUB_STATS is enabled. | ||
272 | |||
273 | What: /sys/kernel/slab/cache/hwcache_align | ||
274 | Date: May 2007 | ||
275 | KernelVersion: 2.6.22 | ||
276 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
277 | Christoph Lameter <cl@linux-foundation.org> | ||
278 | Description: | ||
279 | The hwcache_align file is read-only and specifies whether | ||
280 | objects are aligned on cachelines. | ||
281 | |||
282 | What: /sys/kernel/slab/cache/min_partial | ||
283 | Date: February 2009 | ||
284 | KernelVersion: 2.6.30 | ||
285 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
286 | David Rientjes <rientjes@google.com> | ||
287 | Description: | ||
288 | The min_partial file specifies how many empty slabs shall | ||
289 | remain on a node's partial list to avoid the overhead of | ||
290 | allocating new slabs. Such slabs may be reclaimed by utilizing | ||
291 | the shrink file. | ||
292 | |||
293 | What: /sys/kernel/slab/cache/object_size | ||
294 | Date: May 2007 | ||
295 | KernelVersion: 2.6.22 | ||
296 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
297 | Christoph Lameter <cl@linux-foundation.org> | ||
298 | Description: | ||
299 | The object_size file is read-only and specifies the cache's | ||
300 | object size. | ||
301 | |||
302 | What: /sys/kernel/slab/cache/objects | ||
303 | Date: May 2007 | ||
304 | KernelVersion: 2.6.22 | ||
305 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
306 | Christoph Lameter <cl@linux-foundation.org> | ||
307 | Description: | ||
308 | The objects file is read-only and displays how many objects are | ||
309 | active and from which nodes they are from. | ||
310 | |||
311 | What: /sys/kernel/slab/cache/objects_partial | ||
312 | Date: April 2008 | ||
313 | KernelVersion: 2.6.26 | ||
314 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
315 | Christoph Lameter <cl@linux-foundation.org> | ||
316 | Description: | ||
317 | The objects_partial file is read-only and displays how many | ||
318 | objects are on partial slabs and from which nodes they are | ||
319 | from. | ||
320 | |||
321 | What: /sys/kernel/slab/cache/objs_per_slab | ||
322 | Date: May 2007 | ||
323 | KernelVersion: 2.6.22 | ||
324 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
325 | Christoph Lameter <cl@linux-foundation.org> | ||
326 | Description: | ||
327 | The file objs_per_slab is read-only and specifies how many | ||
328 | objects may be allocated from a single slab of the order | ||
329 | specified in /sys/kernel/slab/cache/order. | ||
330 | |||
331 | What: /sys/kernel/slab/cache/order | ||
332 | Date: May 2007 | ||
333 | KernelVersion: 2.6.22 | ||
334 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
335 | Christoph Lameter <cl@linux-foundation.org> | ||
336 | Description: | ||
337 | The order file specifies the page order at which new slabs are | ||
338 | allocated. It is writable and can be changed to increase the | ||
339 | number of objects per slab. If a slab cannot be allocated | ||
340 | because of fragmentation, SLUB will retry with the minimum order | ||
341 | possible depending on its characteristics. | ||
342 | |||
343 | What: /sys/kernel/slab/cache/order_fallback | ||
344 | Date: April 2008 | ||
345 | KernelVersion: 2.6.26 | ||
346 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
347 | Christoph Lameter <cl@linux-foundation.org> | ||
348 | Description: | ||
349 | The file order_fallback is read-only and specifies how many | ||
350 | times an allocation of a new slab has not been possible at the | ||
351 | cache's order and instead fallen back to its minimum possible | ||
352 | order. | ||
353 | Available when CONFIG_SLUB_STATS is enabled. | ||
354 | |||
355 | What: /sys/kernel/slab/cache/partial | ||
356 | Date: May 2007 | ||
357 | KernelVersion: 2.6.22 | ||
358 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
359 | Christoph Lameter <cl@linux-foundation.org> | ||
360 | Description: | ||
361 | The partial file is read-only and displays how long many | ||
362 | partial slabs there are and how long each node's list is. | ||
363 | |||
364 | What: /sys/kernel/slab/cache/poison | ||
365 | Date: May 2007 | ||
366 | KernelVersion: 2.6.22 | ||
367 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
368 | Christoph Lameter <cl@linux-foundation.org> | ||
369 | Description: | ||
370 | The poison file specifies whether objects should be poisoned | ||
371 | when a new slab is allocated. | ||
372 | |||
373 | What: /sys/kernel/slab/cache/reclaim_account | ||
374 | Date: May 2007 | ||
375 | KernelVersion: 2.6.22 | ||
376 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
377 | Christoph Lameter <cl@linux-foundation.org> | ||
378 | Description: | ||
379 | The reclaim_account file specifies whether the cache's objects | ||
380 | are reclaimable (and grouped by their mobility). | ||
381 | |||
382 | What: /sys/kernel/slab/cache/red_zone | ||
383 | Date: May 2007 | ||
384 | KernelVersion: 2.6.22 | ||
385 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
386 | Christoph Lameter <cl@linux-foundation.org> | ||
387 | Description: | ||
388 | The red_zone file specifies whether the cache's objects are red | ||
389 | zoned. | ||
390 | |||
391 | What: /sys/kernel/slab/cache/remote_node_defrag_ratio | ||
392 | Date: January 2008 | ||
393 | KernelVersion: 2.6.25 | ||
394 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
395 | Christoph Lameter <cl@linux-foundation.org> | ||
396 | Description: | ||
397 | The file remote_node_defrag_ratio specifies the percentage of | ||
398 | times SLUB will attempt to refill the cpu slab with a partial | ||
399 | slab from a remote node as opposed to allocating a new slab on | ||
400 | the local node. This reduces the amount of wasted memory over | ||
401 | the entire system but can be expensive. | ||
402 | Available when CONFIG_NUMA is enabled. | ||
403 | |||
404 | What: /sys/kernel/slab/cache/sanity_checks | ||
405 | Date: May 2007 | ||
406 | KernelVersion: 2.6.22 | ||
407 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
408 | Christoph Lameter <cl@linux-foundation.org> | ||
409 | Description: | ||
410 | The sanity_checks file specifies whether expensive checks | ||
411 | should be performed on free and, at minimum, enables double free | ||
412 | checks. Caches that enable sanity_checks cannot be merged with | ||
413 | caches that do not. | ||
414 | |||
415 | What: /sys/kernel/slab/cache/shrink | ||
416 | Date: May 2007 | ||
417 | KernelVersion: 2.6.22 | ||
418 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
419 | Christoph Lameter <cl@linux-foundation.org> | ||
420 | Description: | ||
421 | The shrink file is written when memory should be reclaimed from | ||
422 | a cache. Empty partial slabs are freed and the partial list is | ||
423 | sorted so the slabs with the fewest available objects are used | ||
424 | first. | ||
425 | |||
426 | What: /sys/kernel/slab/cache/slab_size | ||
427 | Date: May 2007 | ||
428 | KernelVersion: 2.6.22 | ||
429 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
430 | Christoph Lameter <cl@linux-foundation.org> | ||
431 | Description: | ||
432 | The slab_size file is read-only and specifies the object size | ||
433 | with metadata (debugging information and alignment) in bytes. | ||
434 | |||
435 | What: /sys/kernel/slab/cache/slabs | ||
436 | Date: May 2007 | ||
437 | KernelVersion: 2.6.22 | ||
438 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
439 | Christoph Lameter <cl@linux-foundation.org> | ||
440 | Description: | ||
441 | The slabs file is read-only and displays how long many slabs | ||
442 | there are (both cpu and partial) and from which nodes they are | ||
443 | from. | ||
444 | |||
445 | What: /sys/kernel/slab/cache/store_user | ||
446 | Date: May 2007 | ||
447 | KernelVersion: 2.6.22 | ||
448 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
449 | Christoph Lameter <cl@linux-foundation.org> | ||
450 | Description: | ||
451 | The store_user file specifies whether the location of | ||
452 | allocation or free should be tracked for a cache. | ||
453 | |||
454 | What: /sys/kernel/slab/cache/total_objects | ||
455 | Date: April 2008 | ||
456 | KernelVersion: 2.6.26 | ||
457 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
458 | Christoph Lameter <cl@linux-foundation.org> | ||
459 | Description: | ||
460 | The total_objects file is read-only and displays how many total | ||
461 | objects a cache has and from which nodes they are from. | ||
462 | |||
463 | What: /sys/kernel/slab/cache/trace | ||
464 | Date: May 2007 | ||
465 | KernelVersion: 2.6.22 | ||
466 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
467 | Christoph Lameter <cl@linux-foundation.org> | ||
468 | Description: | ||
469 | The trace file specifies whether object allocations and frees | ||
470 | should be traced. | ||
471 | |||
472 | What: /sys/kernel/slab/cache/validate | ||
473 | Date: May 2007 | ||
474 | KernelVersion: 2.6.22 | ||
475 | Contact: Pekka Enberg <penberg@cs.helsinki.fi>, | ||
476 | Christoph Lameter <cl@linux-foundation.org> | ||
477 | Description: | ||
478 | Writing to the validate file causes SLUB to traverse all of its | ||
479 | cache's objects and check the validity of metadata. | ||
diff --git a/arch/microblaze/configs/nommu_defconfig b/arch/microblaze/configs/nommu_defconfig index beb7ecd72793..4ef6af0a8f31 100644 --- a/arch/microblaze/configs/nommu_defconfig +++ b/arch/microblaze/configs/nommu_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29 | 3 | # Linux kernel version: 2.6.30-rc5 |
4 | # Tue Mar 24 10:23:20 2009 | 4 | # Mon May 11 09:01:02 2009 |
5 | # | 5 | # |
6 | CONFIG_MICROBLAZE=y | 6 | CONFIG_MICROBLAZE=y |
7 | # CONFIG_SWAP is not set | 7 | # CONFIG_SWAP is not set |
@@ -32,6 +32,7 @@ CONFIG_LOCALVERSION_AUTO=y | |||
32 | CONFIG_SYSVIPC=y | 32 | CONFIG_SYSVIPC=y |
33 | CONFIG_SYSVIPC_SYSCTL=y | 33 | CONFIG_SYSVIPC_SYSCTL=y |
34 | CONFIG_POSIX_MQUEUE=y | 34 | CONFIG_POSIX_MQUEUE=y |
35 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
35 | CONFIG_BSD_PROCESS_ACCT=y | 36 | CONFIG_BSD_PROCESS_ACCT=y |
36 | CONFIG_BSD_PROCESS_ACCT_V3=y | 37 | CONFIG_BSD_PROCESS_ACCT_V3=y |
37 | # CONFIG_TASKSTATS is not set | 38 | # CONFIG_TASKSTATS is not set |
@@ -63,6 +64,7 @@ CONFIG_SYSCTL_SYSCALL=y | |||
63 | CONFIG_KALLSYMS=y | 64 | CONFIG_KALLSYMS=y |
64 | CONFIG_KALLSYMS_ALL=y | 65 | CONFIG_KALLSYMS_ALL=y |
65 | CONFIG_KALLSYMS_EXTRA_PASS=y | 66 | CONFIG_KALLSYMS_EXTRA_PASS=y |
67 | # CONFIG_STRIP_ASM_SYMS is not set | ||
66 | # CONFIG_HOTPLUG is not set | 68 | # CONFIG_HOTPLUG is not set |
67 | CONFIG_PRINTK=y | 69 | CONFIG_PRINTK=y |
68 | CONFIG_BUG=y | 70 | CONFIG_BUG=y |
@@ -80,6 +82,8 @@ CONFIG_SLAB=y | |||
80 | # CONFIG_SLUB is not set | 82 | # CONFIG_SLUB is not set |
81 | # CONFIG_SLOB is not set | 83 | # CONFIG_SLOB is not set |
82 | # CONFIG_PROFILING is not set | 84 | # CONFIG_PROFILING is not set |
85 | # CONFIG_MARKERS is not set | ||
86 | # CONFIG_SLOW_WORK is not set | ||
83 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 87 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
84 | CONFIG_SLABINFO=y | 88 | CONFIG_SLABINFO=y |
85 | CONFIG_RT_MUTEXES=y | 89 | CONFIG_RT_MUTEXES=y |
@@ -92,7 +96,6 @@ CONFIG_MODULE_UNLOAD=y | |||
92 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 96 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
93 | CONFIG_BLOCK=y | 97 | CONFIG_BLOCK=y |
94 | # CONFIG_LBD is not set | 98 | # CONFIG_LBD is not set |
95 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
96 | # CONFIG_BLK_DEV_BSG is not set | 99 | # CONFIG_BLK_DEV_BSG is not set |
97 | # CONFIG_BLK_DEV_INTEGRITY is not set | 100 | # CONFIG_BLK_DEV_INTEGRITY is not set |
98 | 101 | ||
@@ -166,6 +169,8 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
166 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 169 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
167 | CONFIG_ZONE_DMA_FLAG=0 | 170 | CONFIG_ZONE_DMA_FLAG=0 |
168 | CONFIG_VIRT_TO_BUS=y | 171 | CONFIG_VIRT_TO_BUS=y |
172 | CONFIG_UNEVICTABLE_LRU=y | ||
173 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 | ||
169 | 174 | ||
170 | # | 175 | # |
171 | # Exectuable file formats | 176 | # Exectuable file formats |
@@ -180,7 +185,6 @@ CONFIG_NET=y | |||
180 | # | 185 | # |
181 | # Networking options | 186 | # Networking options |
182 | # | 187 | # |
183 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
184 | CONFIG_PACKET=y | 188 | CONFIG_PACKET=y |
185 | # CONFIG_PACKET_MMAP is not set | 189 | # CONFIG_PACKET_MMAP is not set |
186 | CONFIG_UNIX=y | 190 | CONFIG_UNIX=y |
@@ -232,6 +236,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
232 | # CONFIG_LAPB is not set | 236 | # CONFIG_LAPB is not set |
233 | # CONFIG_ECONET is not set | 237 | # CONFIG_ECONET is not set |
234 | # CONFIG_WAN_ROUTER is not set | 238 | # CONFIG_WAN_ROUTER is not set |
239 | # CONFIG_PHONET is not set | ||
235 | # CONFIG_NET_SCHED is not set | 240 | # CONFIG_NET_SCHED is not set |
236 | # CONFIG_DCB is not set | 241 | # CONFIG_DCB is not set |
237 | 242 | ||
@@ -244,7 +249,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
244 | # CONFIG_IRDA is not set | 249 | # CONFIG_IRDA is not set |
245 | # CONFIG_BT is not set | 250 | # CONFIG_BT is not set |
246 | # CONFIG_AF_RXRPC is not set | 251 | # CONFIG_AF_RXRPC is not set |
247 | # CONFIG_PHONET is not set | ||
248 | CONFIG_WIRELESS=y | 252 | CONFIG_WIRELESS=y |
249 | # CONFIG_CFG80211 is not set | 253 | # CONFIG_CFG80211 is not set |
250 | CONFIG_WIRELESS_OLD_REGULATORY=y | 254 | CONFIG_WIRELESS_OLD_REGULATORY=y |
@@ -379,6 +383,7 @@ CONFIG_MISC_DEVICES=y | |||
379 | # CONFIG_ATA is not set | 383 | # CONFIG_ATA is not set |
380 | # CONFIG_MD is not set | 384 | # CONFIG_MD is not set |
381 | CONFIG_NETDEVICES=y | 385 | CONFIG_NETDEVICES=y |
386 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
382 | # CONFIG_DUMMY is not set | 387 | # CONFIG_DUMMY is not set |
383 | # CONFIG_BONDING is not set | 388 | # CONFIG_BONDING is not set |
384 | # CONFIG_MACVLAN is not set | 389 | # CONFIG_MACVLAN is not set |
@@ -388,6 +393,7 @@ CONFIG_NETDEVICES=y | |||
388 | # CONFIG_PHYLIB is not set | 393 | # CONFIG_PHYLIB is not set |
389 | CONFIG_NET_ETHERNET=y | 394 | CONFIG_NET_ETHERNET=y |
390 | # CONFIG_MII is not set | 395 | # CONFIG_MII is not set |
396 | # CONFIG_ETHOC is not set | ||
391 | # CONFIG_DNET is not set | 397 | # CONFIG_DNET is not set |
392 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 398 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
393 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 399 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
@@ -405,7 +411,6 @@ CONFIG_NETDEV_10000=y | |||
405 | # | 411 | # |
406 | # CONFIG_WLAN_PRE80211 is not set | 412 | # CONFIG_WLAN_PRE80211 is not set |
407 | # CONFIG_WLAN_80211 is not set | 413 | # CONFIG_WLAN_80211 is not set |
408 | # CONFIG_IWLWIFI_LEDS is not set | ||
409 | 414 | ||
410 | # | 415 | # |
411 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 416 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -455,6 +460,7 @@ CONFIG_LEGACY_PTYS=y | |||
455 | CONFIG_LEGACY_PTY_COUNT=256 | 460 | CONFIG_LEGACY_PTY_COUNT=256 |
456 | # CONFIG_IPMI_HANDLER is not set | 461 | # CONFIG_IPMI_HANDLER is not set |
457 | CONFIG_HW_RANDOM=y | 462 | CONFIG_HW_RANDOM=y |
463 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
458 | # CONFIG_RTC is not set | 464 | # CONFIG_RTC is not set |
459 | # CONFIG_GEN_RTC is not set | 465 | # CONFIG_GEN_RTC is not set |
460 | # CONFIG_R3964 is not set | 466 | # CONFIG_R3964 is not set |
@@ -525,7 +531,7 @@ CONFIG_USB_SUPPORT=y | |||
525 | # | 531 | # |
526 | 532 | ||
527 | # | 533 | # |
528 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 534 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
529 | # | 535 | # |
530 | # CONFIG_USB_GADGET is not set | 536 | # CONFIG_USB_GADGET is not set |
531 | 537 | ||
@@ -538,6 +544,7 @@ CONFIG_USB_SUPPORT=y | |||
538 | # CONFIG_ACCESSIBILITY is not set | 544 | # CONFIG_ACCESSIBILITY is not set |
539 | # CONFIG_RTC_CLASS is not set | 545 | # CONFIG_RTC_CLASS is not set |
540 | # CONFIG_DMADEVICES is not set | 546 | # CONFIG_DMADEVICES is not set |
547 | # CONFIG_AUXDISPLAY is not set | ||
541 | # CONFIG_UIO is not set | 548 | # CONFIG_UIO is not set |
542 | # CONFIG_STAGING is not set | 549 | # CONFIG_STAGING is not set |
543 | 550 | ||
@@ -563,6 +570,11 @@ CONFIG_FILE_LOCKING=y | |||
563 | # CONFIG_FUSE_FS is not set | 570 | # CONFIG_FUSE_FS is not set |
564 | 571 | ||
565 | # | 572 | # |
573 | # Caches | ||
574 | # | ||
575 | # CONFIG_FSCACHE is not set | ||
576 | |||
577 | # | ||
566 | # CD-ROM/DVD Filesystems | 578 | # CD-ROM/DVD Filesystems |
567 | # | 579 | # |
568 | # CONFIG_ISO9660_FS is not set | 580 | # CONFIG_ISO9660_FS is not set |
@@ -601,8 +613,13 @@ CONFIG_CRAMFS=y | |||
601 | # CONFIG_HPFS_FS is not set | 613 | # CONFIG_HPFS_FS is not set |
602 | # CONFIG_QNX4FS_FS is not set | 614 | # CONFIG_QNX4FS_FS is not set |
603 | CONFIG_ROMFS_FS=y | 615 | CONFIG_ROMFS_FS=y |
616 | CONFIG_ROMFS_BACKED_BY_BLOCK=y | ||
617 | # CONFIG_ROMFS_BACKED_BY_MTD is not set | ||
618 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set | ||
619 | CONFIG_ROMFS_ON_BLOCK=y | ||
604 | # CONFIG_SYSV_FS is not set | 620 | # CONFIG_SYSV_FS is not set |
605 | # CONFIG_UFS_FS is not set | 621 | # CONFIG_UFS_FS is not set |
622 | # CONFIG_NILFS2_FS is not set | ||
606 | CONFIG_NETWORK_FILESYSTEMS=y | 623 | CONFIG_NETWORK_FILESYSTEMS=y |
607 | CONFIG_NFS_FS=y | 624 | CONFIG_NFS_FS=y |
608 | CONFIG_NFS_V3=y | 625 | CONFIG_NFS_V3=y |
@@ -614,7 +631,6 @@ CONFIG_LOCKD_V4=y | |||
614 | CONFIG_NFS_ACL_SUPPORT=y | 631 | CONFIG_NFS_ACL_SUPPORT=y |
615 | CONFIG_NFS_COMMON=y | 632 | CONFIG_NFS_COMMON=y |
616 | CONFIG_SUNRPC=y | 633 | CONFIG_SUNRPC=y |
617 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
618 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 634 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
619 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 635 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
620 | # CONFIG_SMB_FS is not set | 636 | # CONFIG_SMB_FS is not set |
@@ -647,6 +663,9 @@ CONFIG_DEBUG_SHIRQ=y | |||
647 | CONFIG_DETECT_SOFTLOCKUP=y | 663 | CONFIG_DETECT_SOFTLOCKUP=y |
648 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y | 664 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y |
649 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 | 665 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 |
666 | CONFIG_DETECT_HUNG_TASK=y | ||
667 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
668 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
650 | CONFIG_SCHED_DEBUG=y | 669 | CONFIG_SCHED_DEBUG=y |
651 | CONFIG_SCHEDSTATS=y | 670 | CONFIG_SCHEDSTATS=y |
652 | CONFIG_TIMER_STATS=y | 671 | CONFIG_TIMER_STATS=y |
@@ -678,15 +697,8 @@ CONFIG_DEBUG_SG=y | |||
678 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 697 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
679 | # CONFIG_FAULT_INJECTION is not set | 698 | # CONFIG_FAULT_INJECTION is not set |
680 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 699 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
681 | 700 | # CONFIG_PAGE_POISONING is not set | |
682 | # | 701 | # CONFIG_DYNAMIC_DEBUG is not set |
683 | # Tracers | ||
684 | # | ||
685 | # CONFIG_SCHED_TRACER is not set | ||
686 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
687 | # CONFIG_BOOT_TRACER is not set | ||
688 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
689 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
690 | # CONFIG_SAMPLES is not set | 702 | # CONFIG_SAMPLES is not set |
691 | CONFIG_EARLY_PRINTK=y | 703 | CONFIG_EARLY_PRINTK=y |
692 | CONFIG_HEART_BEAT=y | 704 | CONFIG_HEART_BEAT=y |
@@ -777,6 +789,7 @@ CONFIG_CRYPTO=y | |||
777 | # Compression | 789 | # Compression |
778 | # | 790 | # |
779 | # CONFIG_CRYPTO_DEFLATE is not set | 791 | # CONFIG_CRYPTO_DEFLATE is not set |
792 | # CONFIG_CRYPTO_ZLIB is not set | ||
780 | # CONFIG_CRYPTO_LZO is not set | 793 | # CONFIG_CRYPTO_LZO is not set |
781 | 794 | ||
782 | # | 795 | # |
@@ -784,6 +797,7 @@ CONFIG_CRYPTO=y | |||
784 | # | 797 | # |
785 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 798 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
786 | CONFIG_CRYPTO_HW=y | 799 | CONFIG_CRYPTO_HW=y |
800 | # CONFIG_BINARY_PRINTF is not set | ||
787 | 801 | ||
788 | # | 802 | # |
789 | # Library routines | 803 | # Library routines |
@@ -797,8 +811,8 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
797 | # CONFIG_CRC7 is not set | 811 | # CONFIG_CRC7 is not set |
798 | # CONFIG_LIBCRC32C is not set | 812 | # CONFIG_LIBCRC32C is not set |
799 | CONFIG_ZLIB_INFLATE=y | 813 | CONFIG_ZLIB_INFLATE=y |
800 | CONFIG_PLIST=y | ||
801 | CONFIG_HAS_IOMEM=y | 814 | CONFIG_HAS_IOMEM=y |
802 | CONFIG_HAS_IOPORT=y | 815 | CONFIG_HAS_IOPORT=y |
803 | CONFIG_HAS_DMA=y | 816 | CONFIG_HAS_DMA=y |
804 | CONFIG_HAVE_LMB=y | 817 | CONFIG_HAVE_LMB=y |
818 | CONFIG_NLATTR=y | ||
diff --git a/arch/microblaze/kernel/intc.c b/arch/microblaze/kernel/intc.c index a69d3e3c2fd4..b15605299a57 100644 --- a/arch/microblaze/kernel/intc.c +++ b/arch/microblaze/kernel/intc.c | |||
@@ -137,8 +137,8 @@ void __init init_IRQ(void) | |||
137 | 137 | ||
138 | intr_type = | 138 | intr_type = |
139 | *(int *) of_get_property(intc, "xlnx,kind-of-intr", NULL); | 139 | *(int *) of_get_property(intc, "xlnx,kind-of-intr", NULL); |
140 | if (intr_type >= (1 << nr_irq)) | 140 | if (intr_type >= (1 << (nr_irq + 1))) |
141 | printk(KERN_INFO " ERROR: Mishmash in king-of-intr param\n"); | 141 | printk(KERN_INFO " ERROR: Mismatch in kind-of-intr param\n"); |
142 | 142 | ||
143 | #ifdef CONFIG_SELFMOD_INTC | 143 | #ifdef CONFIG_SELFMOD_INTC |
144 | selfmod_function((int *) arr_func, intc_baseaddr); | 144 | selfmod_function((int *) arr_func, intc_baseaddr); |
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig index ac14f5245d2a..e28e65e7a0e1 100644 --- a/arch/powerpc/configs/ps3_defconfig +++ b/arch/powerpc/configs/ps3_defconfig | |||
@@ -1,13 +1,14 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc8 | 3 | # Linux kernel version: 2.6.30-rc5 |
4 | # Fri Mar 13 09:28:45 2009 | 4 | # Fri May 15 10:37:00 2009 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | 7 | ||
8 | # | 8 | # |
9 | # Processor support | 9 | # Processor support |
10 | # | 10 | # |
11 | CONFIG_PPC_BOOK3S=y | ||
11 | # CONFIG_POWER4_ONLY is not set | 12 | # CONFIG_POWER4_ONLY is not set |
12 | CONFIG_POWER3=y | 13 | CONFIG_POWER3=y |
13 | CONFIG_POWER4=y | 14 | CONFIG_POWER4=y |
@@ -55,9 +56,11 @@ CONFIG_OF=y | |||
55 | # CONFIG_GENERIC_TBSYNC is not set | 56 | # CONFIG_GENERIC_TBSYNC is not set |
56 | CONFIG_AUDIT_ARCH=y | 57 | CONFIG_AUDIT_ARCH=y |
57 | CONFIG_GENERIC_BUG=y | 58 | CONFIG_GENERIC_BUG=y |
59 | CONFIG_DTC=y | ||
58 | # CONFIG_DEFAULT_UIMAGE is not set | 60 | # CONFIG_DEFAULT_UIMAGE is not set |
59 | # CONFIG_PPC_DCR_NATIVE is not set | 61 | # CONFIG_PPC_DCR_NATIVE is not set |
60 | # CONFIG_PPC_DCR_MMIO is not set | 62 | # CONFIG_PPC_DCR_MMIO is not set |
63 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
61 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 64 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
62 | 65 | ||
63 | # | 66 | # |
@@ -72,6 +75,7 @@ CONFIG_SWAP=y | |||
72 | CONFIG_SYSVIPC=y | 75 | CONFIG_SYSVIPC=y |
73 | CONFIG_SYSVIPC_SYSCTL=y | 76 | CONFIG_SYSVIPC_SYSCTL=y |
74 | CONFIG_POSIX_MQUEUE=y | 77 | CONFIG_POSIX_MQUEUE=y |
78 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
75 | # CONFIG_BSD_PROCESS_ACCT is not set | 79 | # CONFIG_BSD_PROCESS_ACCT is not set |
76 | # CONFIG_TASKSTATS is not set | 80 | # CONFIG_TASKSTATS is not set |
77 | # CONFIG_AUDIT is not set | 81 | # CONFIG_AUDIT is not set |
@@ -88,8 +92,7 @@ CONFIG_CLASSIC_RCU=y | |||
88 | CONFIG_LOG_BUF_SHIFT=17 | 92 | CONFIG_LOG_BUF_SHIFT=17 |
89 | # CONFIG_GROUP_SCHED is not set | 93 | # CONFIG_GROUP_SCHED is not set |
90 | # CONFIG_CGROUPS is not set | 94 | # CONFIG_CGROUPS is not set |
91 | CONFIG_SYSFS_DEPRECATED=y | 95 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
92 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
93 | # CONFIG_RELAY is not set | 96 | # CONFIG_RELAY is not set |
94 | CONFIG_NAMESPACES=y | 97 | CONFIG_NAMESPACES=y |
95 | # CONFIG_UTS_NS is not set | 98 | # CONFIG_UTS_NS is not set |
@@ -99,6 +102,9 @@ CONFIG_NAMESPACES=y | |||
99 | # CONFIG_NET_NS is not set | 102 | # CONFIG_NET_NS is not set |
100 | CONFIG_BLK_DEV_INITRD=y | 103 | CONFIG_BLK_DEV_INITRD=y |
101 | CONFIG_INITRAMFS_SOURCE="" | 104 | CONFIG_INITRAMFS_SOURCE="" |
105 | CONFIG_RD_GZIP=y | ||
106 | # CONFIG_RD_BZIP2 is not set | ||
107 | # CONFIG_RD_LZMA is not set | ||
102 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 108 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
103 | CONFIG_SYSCTL=y | 109 | CONFIG_SYSCTL=y |
104 | CONFIG_ANON_INODES=y | 110 | CONFIG_ANON_INODES=y |
@@ -107,6 +113,7 @@ CONFIG_SYSCTL_SYSCALL=y | |||
107 | CONFIG_KALLSYMS=y | 113 | CONFIG_KALLSYMS=y |
108 | CONFIG_KALLSYMS_ALL=y | 114 | CONFIG_KALLSYMS_ALL=y |
109 | CONFIG_KALLSYMS_EXTRA_PASS=y | 115 | CONFIG_KALLSYMS_EXTRA_PASS=y |
116 | # CONFIG_STRIP_ASM_SYMS is not set | ||
110 | CONFIG_HOTPLUG=y | 117 | CONFIG_HOTPLUG=y |
111 | CONFIG_PRINTK=y | 118 | CONFIG_PRINTK=y |
112 | CONFIG_BUG=y | 119 | CONFIG_BUG=y |
@@ -138,6 +145,7 @@ CONFIG_HAVE_KRETPROBES=y | |||
138 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 145 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
139 | CONFIG_HAVE_DMA_ATTRS=y | 146 | CONFIG_HAVE_DMA_ATTRS=y |
140 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 147 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
148 | # CONFIG_SLOW_WORK is not set | ||
141 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 149 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
142 | CONFIG_SLABINFO=y | 150 | CONFIG_SLABINFO=y |
143 | CONFIG_RT_MUTEXES=y | 151 | CONFIG_RT_MUTEXES=y |
@@ -150,7 +158,6 @@ CONFIG_MODULE_UNLOAD=y | |||
150 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 158 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
151 | CONFIG_STOP_MACHINE=y | 159 | CONFIG_STOP_MACHINE=y |
152 | CONFIG_BLOCK=y | 160 | CONFIG_BLOCK=y |
153 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
154 | CONFIG_BLK_DEV_BSG=y | 161 | CONFIG_BLK_DEV_BSG=y |
155 | # CONFIG_BLK_DEV_INTEGRITY is not set | 162 | # CONFIG_BLK_DEV_INTEGRITY is not set |
156 | CONFIG_BLOCK_COMPAT=y | 163 | CONFIG_BLOCK_COMPAT=y |
@@ -172,7 +179,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
172 | # | 179 | # |
173 | # Platform support | 180 | # Platform support |
174 | # | 181 | # |
175 | CONFIG_PPC_MULTIPLATFORM=y | ||
176 | # CONFIG_PPC_PSERIES is not set | 182 | # CONFIG_PPC_PSERIES is not set |
177 | # CONFIG_PPC_ISERIES is not set | 183 | # CONFIG_PPC_ISERIES is not set |
178 | # CONFIG_PPC_PMAC is not set | 184 | # CONFIG_PPC_PMAC is not set |
@@ -209,6 +215,7 @@ CONFIG_SPU_FS_64K_LS=y | |||
209 | # CONFIG_SPU_TRACE is not set | 215 | # CONFIG_SPU_TRACE is not set |
210 | CONFIG_SPU_BASE=y | 216 | CONFIG_SPU_BASE=y |
211 | # CONFIG_PQ2ADS is not set | 217 | # CONFIG_PQ2ADS is not set |
218 | # CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set | ||
212 | # CONFIG_IPIC is not set | 219 | # CONFIG_IPIC is not set |
213 | # CONFIG_MPIC is not set | 220 | # CONFIG_MPIC is not set |
214 | # CONFIG_MPIC_WEIRD is not set | 221 | # CONFIG_MPIC_WEIRD is not set |
@@ -279,11 +286,14 @@ CONFIG_PHYS_ADDR_T_64BIT=y | |||
279 | CONFIG_ZONE_DMA_FLAG=1 | 286 | CONFIG_ZONE_DMA_FLAG=1 |
280 | CONFIG_BOUNCE=y | 287 | CONFIG_BOUNCE=y |
281 | CONFIG_UNEVICTABLE_LRU=y | 288 | CONFIG_UNEVICTABLE_LRU=y |
289 | CONFIG_HAVE_MLOCK=y | ||
290 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
282 | CONFIG_ARCH_MEMORY_PROBE=y | 291 | CONFIG_ARCH_MEMORY_PROBE=y |
283 | CONFIG_PPC_HAS_HASH_64K=y | 292 | CONFIG_PPC_HAS_HASH_64K=y |
284 | CONFIG_PPC_4K_PAGES=y | 293 | CONFIG_PPC_4K_PAGES=y |
285 | # CONFIG_PPC_16K_PAGES is not set | 294 | # CONFIG_PPC_16K_PAGES is not set |
286 | # CONFIG_PPC_64K_PAGES is not set | 295 | # CONFIG_PPC_64K_PAGES is not set |
296 | # CONFIG_PPC_256K_PAGES is not set | ||
287 | CONFIG_FORCE_MAX_ZONEORDER=13 | 297 | CONFIG_FORCE_MAX_ZONEORDER=13 |
288 | CONFIG_SCHED_SMT=y | 298 | CONFIG_SCHED_SMT=y |
289 | CONFIG_PROC_DEVICETREE=y | 299 | CONFIG_PROC_DEVICETREE=y |
@@ -316,7 +326,6 @@ CONFIG_NET=y | |||
316 | # | 326 | # |
317 | # Networking options | 327 | # Networking options |
318 | # | 328 | # |
319 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
320 | CONFIG_PACKET=y | 329 | CONFIG_PACKET=y |
321 | CONFIG_PACKET_MMAP=y | 330 | CONFIG_PACKET_MMAP=y |
322 | CONFIG_UNIX=y | 331 | CONFIG_UNIX=y |
@@ -389,6 +398,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
389 | # CONFIG_LAPB is not set | 398 | # CONFIG_LAPB is not set |
390 | # CONFIG_ECONET is not set | 399 | # CONFIG_ECONET is not set |
391 | # CONFIG_WAN_ROUTER is not set | 400 | # CONFIG_WAN_ROUTER is not set |
401 | # CONFIG_PHONET is not set | ||
392 | # CONFIG_NET_SCHED is not set | 402 | # CONFIG_NET_SCHED is not set |
393 | # CONFIG_DCB is not set | 403 | # CONFIG_DCB is not set |
394 | 404 | ||
@@ -396,6 +406,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
396 | # Network testing | 406 | # Network testing |
397 | # | 407 | # |
398 | # CONFIG_NET_PKTGEN is not set | 408 | # CONFIG_NET_PKTGEN is not set |
409 | # CONFIG_NET_DROP_MONITOR is not set | ||
399 | # CONFIG_HAMRADIO is not set | 410 | # CONFIG_HAMRADIO is not set |
400 | # CONFIG_CAN is not set | 411 | # CONFIG_CAN is not set |
401 | # CONFIG_IRDA is not set | 412 | # CONFIG_IRDA is not set |
@@ -419,11 +430,9 @@ CONFIG_BT_HCIBTUSB=m | |||
419 | # CONFIG_BT_HCIBFUSB is not set | 430 | # CONFIG_BT_HCIBFUSB is not set |
420 | # CONFIG_BT_HCIVHCI is not set | 431 | # CONFIG_BT_HCIVHCI is not set |
421 | # CONFIG_AF_RXRPC is not set | 432 | # CONFIG_AF_RXRPC is not set |
422 | # CONFIG_PHONET is not set | ||
423 | CONFIG_WIRELESS=y | 433 | CONFIG_WIRELESS=y |
424 | CONFIG_CFG80211=m | 434 | CONFIG_CFG80211=m |
425 | # CONFIG_CFG80211_REG_DEBUG is not set | 435 | # CONFIG_CFG80211_REG_DEBUG is not set |
426 | CONFIG_NL80211=y | ||
427 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | 436 | # CONFIG_WIRELESS_OLD_REGULATORY is not set |
428 | CONFIG_WIRELESS_EXT=y | 437 | CONFIG_WIRELESS_EXT=y |
429 | # CONFIG_WIRELESS_EXT_SYSFS is not set | 438 | # CONFIG_WIRELESS_EXT_SYSFS is not set |
@@ -602,6 +611,7 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
602 | # CONFIG_SCSI_SRP_ATTRS is not set | 611 | # CONFIG_SCSI_SRP_ATTRS is not set |
603 | # CONFIG_SCSI_LOWLEVEL is not set | 612 | # CONFIG_SCSI_LOWLEVEL is not set |
604 | # CONFIG_SCSI_DH is not set | 613 | # CONFIG_SCSI_DH is not set |
614 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
605 | # CONFIG_ATA is not set | 615 | # CONFIG_ATA is not set |
606 | CONFIG_MD=y | 616 | CONFIG_MD=y |
607 | # CONFIG_BLK_DEV_MD is not set | 617 | # CONFIG_BLK_DEV_MD is not set |
@@ -616,6 +626,7 @@ CONFIG_BLK_DEV_DM=m | |||
616 | # CONFIG_DM_UEVENT is not set | 626 | # CONFIG_DM_UEVENT is not set |
617 | # CONFIG_MACINTOSH_DRIVERS is not set | 627 | # CONFIG_MACINTOSH_DRIVERS is not set |
618 | CONFIG_NETDEVICES=y | 628 | CONFIG_NETDEVICES=y |
629 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
619 | # CONFIG_DUMMY is not set | 630 | # CONFIG_DUMMY is not set |
620 | # CONFIG_BONDING is not set | 631 | # CONFIG_BONDING is not set |
621 | # CONFIG_MACVLAN is not set | 632 | # CONFIG_MACVLAN is not set |
@@ -625,6 +636,8 @@ CONFIG_NETDEVICES=y | |||
625 | # CONFIG_PHYLIB is not set | 636 | # CONFIG_PHYLIB is not set |
626 | CONFIG_NET_ETHERNET=y | 637 | CONFIG_NET_ETHERNET=y |
627 | CONFIG_MII=m | 638 | CONFIG_MII=m |
639 | # CONFIG_ETHOC is not set | ||
640 | # CONFIG_DNET is not set | ||
628 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 641 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
629 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 642 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
630 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 643 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -646,12 +659,13 @@ CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE=y | |||
646 | CONFIG_WLAN_80211=y | 659 | CONFIG_WLAN_80211=y |
647 | # CONFIG_LIBERTAS is not set | 660 | # CONFIG_LIBERTAS is not set |
648 | # CONFIG_LIBERTAS_THINFIRM is not set | 661 | # CONFIG_LIBERTAS_THINFIRM is not set |
662 | # CONFIG_AT76C50X_USB is not set | ||
649 | # CONFIG_USB_ZD1201 is not set | 663 | # CONFIG_USB_ZD1201 is not set |
650 | # CONFIG_USB_NET_RNDIS_WLAN is not set | 664 | # CONFIG_USB_NET_RNDIS_WLAN is not set |
651 | # CONFIG_RTL8187 is not set | 665 | # CONFIG_RTL8187 is not set |
652 | # CONFIG_MAC80211_HWSIM is not set | 666 | # CONFIG_MAC80211_HWSIM is not set |
653 | # CONFIG_P54_COMMON is not set | 667 | # CONFIG_P54_COMMON is not set |
654 | # CONFIG_IWLWIFI_LEDS is not set | 668 | # CONFIG_AR9170_USB is not set |
655 | # CONFIG_HOSTAP is not set | 669 | # CONFIG_HOSTAP is not set |
656 | # CONFIG_B43 is not set | 670 | # CONFIG_B43 is not set |
657 | # CONFIG_B43LEGACY is not set | 671 | # CONFIG_B43LEGACY is not set |
@@ -673,6 +687,7 @@ CONFIG_USB_PEGASUS=m | |||
673 | CONFIG_USB_USBNET=m | 687 | CONFIG_USB_USBNET=m |
674 | CONFIG_USB_NET_AX8817X=m | 688 | CONFIG_USB_NET_AX8817X=m |
675 | # CONFIG_USB_NET_CDCETHER is not set | 689 | # CONFIG_USB_NET_CDCETHER is not set |
690 | # CONFIG_USB_NET_CDC_EEM is not set | ||
676 | # CONFIG_USB_NET_DM9601 is not set | 691 | # CONFIG_USB_NET_DM9601 is not set |
677 | # CONFIG_USB_NET_SMSC95XX is not set | 692 | # CONFIG_USB_NET_SMSC95XX is not set |
678 | # CONFIG_USB_NET_GL620A is not set | 693 | # CONFIG_USB_NET_GL620A is not set |
@@ -724,28 +739,7 @@ CONFIG_INPUT_EVDEV=m | |||
724 | # | 739 | # |
725 | # CONFIG_INPUT_KEYBOARD is not set | 740 | # CONFIG_INPUT_KEYBOARD is not set |
726 | # CONFIG_INPUT_MOUSE is not set | 741 | # CONFIG_INPUT_MOUSE is not set |
727 | CONFIG_INPUT_JOYSTICK=y | 742 | # CONFIG_INPUT_JOYSTICK is not set |
728 | # CONFIG_JOYSTICK_ANALOG is not set | ||
729 | # CONFIG_JOYSTICK_A3D is not set | ||
730 | # CONFIG_JOYSTICK_ADI is not set | ||
731 | # CONFIG_JOYSTICK_COBRA is not set | ||
732 | # CONFIG_JOYSTICK_GF2K is not set | ||
733 | # CONFIG_JOYSTICK_GRIP is not set | ||
734 | # CONFIG_JOYSTICK_GRIP_MP is not set | ||
735 | # CONFIG_JOYSTICK_GUILLEMOT is not set | ||
736 | # CONFIG_JOYSTICK_INTERACT is not set | ||
737 | # CONFIG_JOYSTICK_SIDEWINDER is not set | ||
738 | # CONFIG_JOYSTICK_TMDC is not set | ||
739 | # CONFIG_JOYSTICK_IFORCE is not set | ||
740 | # CONFIG_JOYSTICK_WARRIOR is not set | ||
741 | # CONFIG_JOYSTICK_MAGELLAN is not set | ||
742 | # CONFIG_JOYSTICK_SPACEORB is not set | ||
743 | # CONFIG_JOYSTICK_SPACEBALL is not set | ||
744 | # CONFIG_JOYSTICK_STINGER is not set | ||
745 | # CONFIG_JOYSTICK_TWIDJOY is not set | ||
746 | # CONFIG_JOYSTICK_ZHENHUA is not set | ||
747 | # CONFIG_JOYSTICK_JOYDUMP is not set | ||
748 | # CONFIG_JOYSTICK_XPAD is not set | ||
749 | # CONFIG_INPUT_TABLET is not set | 743 | # CONFIG_INPUT_TABLET is not set |
750 | # CONFIG_INPUT_TOUCHSCREEN is not set | 744 | # CONFIG_INPUT_TOUCHSCREEN is not set |
751 | # CONFIG_INPUT_MISC is not set | 745 | # CONFIG_INPUT_MISC is not set |
@@ -864,6 +858,7 @@ CONFIG_FB_PS3_DEFAULT_SIZE_M=9 | |||
864 | # CONFIG_FB_VIRTUAL is not set | 858 | # CONFIG_FB_VIRTUAL is not set |
865 | # CONFIG_FB_METRONOME is not set | 859 | # CONFIG_FB_METRONOME is not set |
866 | # CONFIG_FB_MB862XX is not set | 860 | # CONFIG_FB_MB862XX is not set |
861 | # CONFIG_FB_BROADSHEET is not set | ||
867 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 862 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
868 | 863 | ||
869 | # | 864 | # |
@@ -934,15 +929,17 @@ CONFIG_USB_HIDDEV=y | |||
934 | # | 929 | # |
935 | # Special HID drivers | 930 | # Special HID drivers |
936 | # | 931 | # |
937 | # CONFIG_HID_COMPAT is not set | ||
938 | # CONFIG_HID_A4TECH is not set | 932 | # CONFIG_HID_A4TECH is not set |
939 | # CONFIG_HID_APPLE is not set | 933 | # CONFIG_HID_APPLE is not set |
940 | # CONFIG_HID_BELKIN is not set | 934 | # CONFIG_HID_BELKIN is not set |
941 | # CONFIG_HID_CHERRY is not set | 935 | # CONFIG_HID_CHERRY is not set |
942 | # CONFIG_HID_CHICONY is not set | 936 | # CONFIG_HID_CHICONY is not set |
943 | # CONFIG_HID_CYPRESS is not set | 937 | # CONFIG_HID_CYPRESS is not set |
938 | # CONFIG_DRAGONRISE_FF is not set | ||
944 | # CONFIG_HID_EZKEY is not set | 939 | # CONFIG_HID_EZKEY is not set |
940 | # CONFIG_HID_KYE is not set | ||
945 | # CONFIG_HID_GYRATION is not set | 941 | # CONFIG_HID_GYRATION is not set |
942 | # CONFIG_HID_KENSINGTON is not set | ||
946 | # CONFIG_HID_LOGITECH is not set | 943 | # CONFIG_HID_LOGITECH is not set |
947 | # CONFIG_HID_MICROSOFT is not set | 944 | # CONFIG_HID_MICROSOFT is not set |
948 | # CONFIG_HID_MONTEREY is not set | 945 | # CONFIG_HID_MONTEREY is not set |
@@ -950,7 +947,7 @@ CONFIG_USB_HIDDEV=y | |||
950 | # CONFIG_HID_PANTHERLORD is not set | 947 | # CONFIG_HID_PANTHERLORD is not set |
951 | # CONFIG_HID_PETALYNX is not set | 948 | # CONFIG_HID_PETALYNX is not set |
952 | # CONFIG_HID_SAMSUNG is not set | 949 | # CONFIG_HID_SAMSUNG is not set |
953 | # CONFIG_HID_SONY is not set | 950 | CONFIG_HID_SONY=m |
954 | # CONFIG_HID_SUNPLUS is not set | 951 | # CONFIG_HID_SUNPLUS is not set |
955 | # CONFIG_GREENASIA_FF is not set | 952 | # CONFIG_GREENASIA_FF is not set |
956 | # CONFIG_HID_TOPSEED is not set | 953 | # CONFIG_HID_TOPSEED is not set |
@@ -1012,11 +1009,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1012 | # CONFIG_USB_TMC is not set | 1009 | # CONFIG_USB_TMC is not set |
1013 | 1010 | ||
1014 | # | 1011 | # |
1015 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1012 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
1016 | # | 1013 | # |
1017 | 1014 | ||
1018 | # | 1015 | # |
1019 | # see USB_STORAGE Help for more information | 1016 | # also be needed; see USB_STORAGE Help for more info |
1020 | # | 1017 | # |
1021 | CONFIG_USB_STORAGE=m | 1018 | CONFIG_USB_STORAGE=m |
1022 | # CONFIG_USB_STORAGE_DEBUG is not set | 1019 | # CONFIG_USB_STORAGE_DEBUG is not set |
@@ -1058,7 +1055,6 @@ CONFIG_USB_STORAGE=m | |||
1058 | # CONFIG_USB_LED is not set | 1055 | # CONFIG_USB_LED is not set |
1059 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1056 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
1060 | # CONFIG_USB_CYTHERM is not set | 1057 | # CONFIG_USB_CYTHERM is not set |
1061 | # CONFIG_USB_PHIDGET is not set | ||
1062 | # CONFIG_USB_IDMOUSE is not set | 1058 | # CONFIG_USB_IDMOUSE is not set |
1063 | # CONFIG_USB_FTDI_ELAN is not set | 1059 | # CONFIG_USB_FTDI_ELAN is not set |
1064 | # CONFIG_USB_APPLEDISPLAY is not set | 1060 | # CONFIG_USB_APPLEDISPLAY is not set |
@@ -1074,6 +1070,7 @@ CONFIG_USB_STORAGE=m | |||
1074 | # | 1070 | # |
1075 | # OTG and related infrastructure | 1071 | # OTG and related infrastructure |
1076 | # | 1072 | # |
1073 | # CONFIG_NOP_USB_XCEIV is not set | ||
1077 | # CONFIG_MMC is not set | 1074 | # CONFIG_MMC is not set |
1078 | # CONFIG_MEMSTICK is not set | 1075 | # CONFIG_MEMSTICK is not set |
1079 | # CONFIG_NEW_LEDS is not set | 1076 | # CONFIG_NEW_LEDS is not set |
@@ -1113,8 +1110,10 @@ CONFIG_RTC_INTF_DEV=y | |||
1113 | # | 1110 | # |
1114 | # on-CPU RTC drivers | 1111 | # on-CPU RTC drivers |
1115 | # | 1112 | # |
1116 | CONFIG_RTC_DRV_PPC=m | 1113 | # CONFIG_RTC_DRV_GENERIC is not set |
1114 | CONFIG_RTC_DRV_PS3=m | ||
1117 | # CONFIG_DMADEVICES is not set | 1115 | # CONFIG_DMADEVICES is not set |
1116 | # CONFIG_AUXDISPLAY is not set | ||
1118 | # CONFIG_UIO is not set | 1117 | # CONFIG_UIO is not set |
1119 | # CONFIG_STAGING is not set | 1118 | # CONFIG_STAGING is not set |
1120 | 1119 | ||
@@ -1125,6 +1124,7 @@ CONFIG_EXT2_FS=m | |||
1125 | # CONFIG_EXT2_FS_XATTR is not set | 1124 | # CONFIG_EXT2_FS_XATTR is not set |
1126 | # CONFIG_EXT2_FS_XIP is not set | 1125 | # CONFIG_EXT2_FS_XIP is not set |
1127 | CONFIG_EXT3_FS=m | 1126 | CONFIG_EXT3_FS=m |
1127 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1128 | CONFIG_EXT3_FS_XATTR=y | 1128 | CONFIG_EXT3_FS_XATTR=y |
1129 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1129 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1130 | # CONFIG_EXT3_FS_SECURITY is not set | 1130 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -1161,6 +1161,11 @@ CONFIG_AUTOFS4_FS=m | |||
1161 | # CONFIG_FUSE_FS is not set | 1161 | # CONFIG_FUSE_FS is not set |
1162 | 1162 | ||
1163 | # | 1163 | # |
1164 | # Caches | ||
1165 | # | ||
1166 | # CONFIG_FSCACHE is not set | ||
1167 | |||
1168 | # | ||
1164 | # CD-ROM/DVD Filesystems | 1169 | # CD-ROM/DVD Filesystems |
1165 | # | 1170 | # |
1166 | CONFIG_ISO9660_FS=m | 1171 | CONFIG_ISO9660_FS=m |
@@ -1211,6 +1216,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
1211 | # CONFIG_ROMFS_FS is not set | 1216 | # CONFIG_ROMFS_FS is not set |
1212 | # CONFIG_SYSV_FS is not set | 1217 | # CONFIG_SYSV_FS is not set |
1213 | # CONFIG_UFS_FS is not set | 1218 | # CONFIG_UFS_FS is not set |
1219 | # CONFIG_NILFS2_FS is not set | ||
1214 | CONFIG_NETWORK_FILESYSTEMS=y | 1220 | CONFIG_NETWORK_FILESYSTEMS=y |
1215 | CONFIG_NFS_FS=y | 1221 | CONFIG_NFS_FS=y |
1216 | CONFIG_NFS_V3=y | 1222 | CONFIG_NFS_V3=y |
@@ -1223,7 +1229,6 @@ CONFIG_LOCKD_V4=y | |||
1223 | CONFIG_NFS_COMMON=y | 1229 | CONFIG_NFS_COMMON=y |
1224 | CONFIG_SUNRPC=y | 1230 | CONFIG_SUNRPC=y |
1225 | CONFIG_SUNRPC_GSS=y | 1231 | CONFIG_SUNRPC_GSS=y |
1226 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1227 | CONFIG_RPCSEC_GSS_KRB5=y | 1232 | CONFIG_RPCSEC_GSS_KRB5=y |
1228 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1233 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1229 | # CONFIG_SMB_FS is not set | 1234 | # CONFIG_SMB_FS is not set |
@@ -1283,6 +1288,7 @@ CONFIG_NLS_ISO8859_1=y | |||
1283 | # CONFIG_NLS_KOI8_U is not set | 1288 | # CONFIG_NLS_KOI8_U is not set |
1284 | # CONFIG_NLS_UTF8 is not set | 1289 | # CONFIG_NLS_UTF8 is not set |
1285 | # CONFIG_DLM is not set | 1290 | # CONFIG_DLM is not set |
1291 | CONFIG_BINARY_PRINTF=y | ||
1286 | 1292 | ||
1287 | # | 1293 | # |
1288 | # Library routines | 1294 | # Library routines |
@@ -1296,15 +1302,16 @@ CONFIG_CRC_ITU_T=m | |||
1296 | CONFIG_CRC32=y | 1302 | CONFIG_CRC32=y |
1297 | # CONFIG_CRC7 is not set | 1303 | # CONFIG_CRC7 is not set |
1298 | # CONFIG_LIBCRC32C is not set | 1304 | # CONFIG_LIBCRC32C is not set |
1299 | CONFIG_ZLIB_INFLATE=m | 1305 | CONFIG_ZLIB_INFLATE=y |
1300 | CONFIG_ZLIB_DEFLATE=m | 1306 | CONFIG_ZLIB_DEFLATE=m |
1301 | CONFIG_LZO_COMPRESS=m | 1307 | CONFIG_LZO_COMPRESS=m |
1302 | CONFIG_LZO_DECOMPRESS=m | 1308 | CONFIG_LZO_DECOMPRESS=m |
1303 | CONFIG_PLIST=y | 1309 | CONFIG_DECOMPRESS_GZIP=y |
1304 | CONFIG_HAS_IOMEM=y | 1310 | CONFIG_HAS_IOMEM=y |
1305 | CONFIG_HAS_IOPORT=y | 1311 | CONFIG_HAS_IOPORT=y |
1306 | CONFIG_HAS_DMA=y | 1312 | CONFIG_HAS_DMA=y |
1307 | CONFIG_HAVE_LMB=y | 1313 | CONFIG_HAVE_LMB=y |
1314 | CONFIG_NLATTR=y | ||
1308 | 1315 | ||
1309 | # | 1316 | # |
1310 | # Kernel hacking | 1317 | # Kernel hacking |
@@ -1322,6 +1329,9 @@ CONFIG_DEBUG_KERNEL=y | |||
1322 | CONFIG_DETECT_SOFTLOCKUP=y | 1329 | CONFIG_DETECT_SOFTLOCKUP=y |
1323 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1330 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
1324 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1331 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1332 | CONFIG_DETECT_HUNG_TASK=y | ||
1333 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1334 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1325 | CONFIG_SCHED_DEBUG=y | 1335 | CONFIG_SCHED_DEBUG=y |
1326 | # CONFIG_SCHEDSTATS is not set | 1336 | # CONFIG_SCHEDSTATS is not set |
1327 | # CONFIG_TIMER_STATS is not set | 1337 | # CONFIG_TIMER_STATS is not set |
@@ -1357,12 +1367,15 @@ CONFIG_DEBUG_LIST=y | |||
1357 | # CONFIG_FAULT_INJECTION is not set | 1367 | # CONFIG_FAULT_INJECTION is not set |
1358 | # CONFIG_LATENCYTOP is not set | 1368 | # CONFIG_LATENCYTOP is not set |
1359 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1369 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1370 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1360 | CONFIG_NOP_TRACER=y | 1371 | CONFIG_NOP_TRACER=y |
1361 | CONFIG_HAVE_FUNCTION_TRACER=y | 1372 | CONFIG_HAVE_FUNCTION_TRACER=y |
1373 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
1362 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1374 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1363 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1375 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1364 | CONFIG_RING_BUFFER=y | 1376 | CONFIG_RING_BUFFER=y |
1365 | CONFIG_TRACING=y | 1377 | CONFIG_TRACING=y |
1378 | CONFIG_TRACING_SUPPORT=y | ||
1366 | 1379 | ||
1367 | # | 1380 | # |
1368 | # Tracers | 1381 | # Tracers |
@@ -1371,18 +1384,21 @@ CONFIG_TRACING=y | |||
1371 | # CONFIG_IRQSOFF_TRACER is not set | 1384 | # CONFIG_IRQSOFF_TRACER is not set |
1372 | # CONFIG_SCHED_TRACER is not set | 1385 | # CONFIG_SCHED_TRACER is not set |
1373 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1386 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1387 | # CONFIG_EVENT_TRACER is not set | ||
1374 | # CONFIG_BOOT_TRACER is not set | 1388 | # CONFIG_BOOT_TRACER is not set |
1375 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1389 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
1376 | # CONFIG_STACK_TRACER is not set | 1390 | # CONFIG_STACK_TRACER is not set |
1391 | # CONFIG_KMEMTRACE is not set | ||
1392 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1393 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1377 | # CONFIG_FTRACE_STARTUP_TEST is not set | 1394 | # CONFIG_FTRACE_STARTUP_TEST is not set |
1378 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1395 | # CONFIG_DYNAMIC_DEBUG is not set |
1379 | # CONFIG_SAMPLES is not set | 1396 | # CONFIG_SAMPLES is not set |
1380 | CONFIG_HAVE_ARCH_KGDB=y | 1397 | CONFIG_HAVE_ARCH_KGDB=y |
1381 | # CONFIG_KGDB is not set | 1398 | # CONFIG_KGDB is not set |
1382 | CONFIG_PRINT_STACK_DEPTH=64 | 1399 | CONFIG_PRINT_STACK_DEPTH=64 |
1383 | CONFIG_DEBUG_STACKOVERFLOW=y | 1400 | CONFIG_DEBUG_STACKOVERFLOW=y |
1384 | # CONFIG_DEBUG_STACK_USAGE is not set | 1401 | # CONFIG_DEBUG_STACK_USAGE is not set |
1385 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
1386 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1402 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1387 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1403 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1388 | # CONFIG_MSI_BITMAP_SELFTEST is not set | 1404 | # CONFIG_MSI_BITMAP_SELFTEST is not set |
@@ -1415,10 +1431,12 @@ CONFIG_CRYPTO_HASH=y | |||
1415 | CONFIG_CRYPTO_HASH2=y | 1431 | CONFIG_CRYPTO_HASH2=y |
1416 | CONFIG_CRYPTO_RNG=m | 1432 | CONFIG_CRYPTO_RNG=m |
1417 | CONFIG_CRYPTO_RNG2=y | 1433 | CONFIG_CRYPTO_RNG2=y |
1434 | CONFIG_CRYPTO_PCOMP=y | ||
1418 | CONFIG_CRYPTO_MANAGER=y | 1435 | CONFIG_CRYPTO_MANAGER=y |
1419 | CONFIG_CRYPTO_MANAGER2=y | 1436 | CONFIG_CRYPTO_MANAGER2=y |
1420 | CONFIG_CRYPTO_GF128MUL=m | 1437 | CONFIG_CRYPTO_GF128MUL=m |
1421 | # CONFIG_CRYPTO_NULL is not set | 1438 | # CONFIG_CRYPTO_NULL is not set |
1439 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1422 | # CONFIG_CRYPTO_CRYPTD is not set | 1440 | # CONFIG_CRYPTO_CRYPTD is not set |
1423 | # CONFIG_CRYPTO_AUTHENC is not set | 1441 | # CONFIG_CRYPTO_AUTHENC is not set |
1424 | # CONFIG_CRYPTO_TEST is not set | 1442 | # CONFIG_CRYPTO_TEST is not set |
@@ -1487,6 +1505,7 @@ CONFIG_CRYPTO_SALSA20=m | |||
1487 | # Compression | 1505 | # Compression |
1488 | # | 1506 | # |
1489 | # CONFIG_CRYPTO_DEFLATE is not set | 1507 | # CONFIG_CRYPTO_DEFLATE is not set |
1508 | # CONFIG_CRYPTO_ZLIB is not set | ||
1490 | CONFIG_CRYPTO_LZO=m | 1509 | CONFIG_CRYPTO_LZO=m |
1491 | 1510 | ||
1492 | # | 1511 | # |
diff --git a/arch/powerpc/kernel/ftrace.c b/arch/powerpc/kernel/ftrace.c index 70e2a736be1f..2d182f119d1d 100644 --- a/arch/powerpc/kernel/ftrace.c +++ b/arch/powerpc/kernel/ftrace.c | |||
@@ -157,7 +157,7 @@ __ftrace_make_nop(struct module *mod, | |||
157 | * 0xe8, 0x4c, 0x00, 0x28, ld r2,40(r12) | 157 | * 0xe8, 0x4c, 0x00, 0x28, ld r2,40(r12) |
158 | */ | 158 | */ |
159 | 159 | ||
160 | pr_debug("ip:%lx jumps to %lx r2: %lx", ip, tramp, mod->arch.toc); | 160 | pr_devel("ip:%lx jumps to %lx r2: %lx", ip, tramp, mod->arch.toc); |
161 | 161 | ||
162 | /* Find where the trampoline jumps to */ | 162 | /* Find where the trampoline jumps to */ |
163 | if (probe_kernel_read(jmp, (void *)tramp, sizeof(jmp))) { | 163 | if (probe_kernel_read(jmp, (void *)tramp, sizeof(jmp))) { |
@@ -165,7 +165,7 @@ __ftrace_make_nop(struct module *mod, | |||
165 | return -EFAULT; | 165 | return -EFAULT; |
166 | } | 166 | } |
167 | 167 | ||
168 | pr_debug(" %08x %08x", jmp[0], jmp[1]); | 168 | pr_devel(" %08x %08x", jmp[0], jmp[1]); |
169 | 169 | ||
170 | /* verify that this is what we expect it to be */ | 170 | /* verify that this is what we expect it to be */ |
171 | if (((jmp[0] & 0xffff0000) != 0x3d820000) || | 171 | if (((jmp[0] & 0xffff0000) != 0x3d820000) || |
@@ -181,18 +181,18 @@ __ftrace_make_nop(struct module *mod, | |||
181 | offset = ((unsigned)((unsigned short)jmp[0]) << 16) + | 181 | offset = ((unsigned)((unsigned short)jmp[0]) << 16) + |
182 | (int)((short)jmp[1]); | 182 | (int)((short)jmp[1]); |
183 | 183 | ||
184 | pr_debug(" %x ", offset); | 184 | pr_devel(" %x ", offset); |
185 | 185 | ||
186 | /* get the address this jumps too */ | 186 | /* get the address this jumps too */ |
187 | tramp = mod->arch.toc + offset + 32; | 187 | tramp = mod->arch.toc + offset + 32; |
188 | pr_debug("toc: %lx", tramp); | 188 | pr_devel("toc: %lx", tramp); |
189 | 189 | ||
190 | if (probe_kernel_read(jmp, (void *)tramp, 8)) { | 190 | if (probe_kernel_read(jmp, (void *)tramp, 8)) { |
191 | printk(KERN_ERR "Failed to read %lx\n", tramp); | 191 | printk(KERN_ERR "Failed to read %lx\n", tramp); |
192 | return -EFAULT; | 192 | return -EFAULT; |
193 | } | 193 | } |
194 | 194 | ||
195 | pr_debug(" %08x %08x\n", jmp[0], jmp[1]); | 195 | pr_devel(" %08x %08x\n", jmp[0], jmp[1]); |
196 | 196 | ||
197 | ptr = ((unsigned long)jmp[0] << 32) + jmp[1]; | 197 | ptr = ((unsigned long)jmp[0] << 32) + jmp[1]; |
198 | 198 | ||
@@ -269,7 +269,7 @@ __ftrace_make_nop(struct module *mod, | |||
269 | * 0x4e, 0x80, 0x04, 0x20 bctr | 269 | * 0x4e, 0x80, 0x04, 0x20 bctr |
270 | */ | 270 | */ |
271 | 271 | ||
272 | pr_debug("ip:%lx jumps to %lx", ip, tramp); | 272 | pr_devel("ip:%lx jumps to %lx", ip, tramp); |
273 | 273 | ||
274 | /* Find where the trampoline jumps to */ | 274 | /* Find where the trampoline jumps to */ |
275 | if (probe_kernel_read(jmp, (void *)tramp, sizeof(jmp))) { | 275 | if (probe_kernel_read(jmp, (void *)tramp, sizeof(jmp))) { |
@@ -277,7 +277,7 @@ __ftrace_make_nop(struct module *mod, | |||
277 | return -EFAULT; | 277 | return -EFAULT; |
278 | } | 278 | } |
279 | 279 | ||
280 | pr_debug(" %08x %08x ", jmp[0], jmp[1]); | 280 | pr_devel(" %08x %08x ", jmp[0], jmp[1]); |
281 | 281 | ||
282 | /* verify that this is what we expect it to be */ | 282 | /* verify that this is what we expect it to be */ |
283 | if (((jmp[0] & 0xffff0000) != 0x3d600000) || | 283 | if (((jmp[0] & 0xffff0000) != 0x3d600000) || |
@@ -293,7 +293,7 @@ __ftrace_make_nop(struct module *mod, | |||
293 | if (tramp & 0x8000) | 293 | if (tramp & 0x8000) |
294 | tramp -= 0x10000; | 294 | tramp -= 0x10000; |
295 | 295 | ||
296 | pr_debug(" %lx ", tramp); | 296 | pr_devel(" %lx ", tramp); |
297 | 297 | ||
298 | if (tramp != addr) { | 298 | if (tramp != addr) { |
299 | printk(KERN_ERR | 299 | printk(KERN_ERR |
@@ -402,7 +402,7 @@ __ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr) | |||
402 | /* ld r2,40(r1) */ | 402 | /* ld r2,40(r1) */ |
403 | op[1] = 0xe8410028; | 403 | op[1] = 0xe8410028; |
404 | 404 | ||
405 | pr_debug("write to %lx\n", rec->ip); | 405 | pr_devel("write to %lx\n", rec->ip); |
406 | 406 | ||
407 | if (probe_kernel_write((void *)ip, op, MCOUNT_INSN_SIZE * 2)) | 407 | if (probe_kernel_write((void *)ip, op, MCOUNT_INSN_SIZE * 2)) |
408 | return -EPERM; | 408 | return -EPERM; |
@@ -442,7 +442,7 @@ __ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr) | |||
442 | return -EINVAL; | 442 | return -EINVAL; |
443 | } | 443 | } |
444 | 444 | ||
445 | pr_debug("write to %lx\n", rec->ip); | 445 | pr_devel("write to %lx\n", rec->ip); |
446 | 446 | ||
447 | if (probe_kernel_write((void *)ip, &op, MCOUNT_INSN_SIZE)) | 447 | if (probe_kernel_write((void *)ip, &op, MCOUNT_INSN_SIZE)) |
448 | return -EPERM; | 448 | return -EPERM; |
@@ -594,7 +594,7 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr) | |||
594 | PPC_LONG "2b,4b\n" | 594 | PPC_LONG "2b,4b\n" |
595 | ".previous" | 595 | ".previous" |
596 | 596 | ||
597 | : [old] "=r" (old), [faulted] "=r" (faulted) | 597 | : [old] "=&r" (old), [faulted] "=r" (faulted) |
598 | : [parent] "r" (parent), [return_hooker] "r" (return_hooker) | 598 | : [parent] "r" (parent), [return_hooker] "r" (return_hooker) |
599 | : "memory" | 599 | : "memory" |
600 | ); | 600 | ); |
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index a047a6cfca4d..8ef8a14abc95 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S | |||
@@ -264,6 +264,7 @@ SECTIONS | |||
264 | *(.data.page_aligned) | 264 | *(.data.page_aligned) |
265 | } | 265 | } |
266 | 266 | ||
267 | . = ALIGN(L1_CACHE_BYTES); | ||
267 | .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) { | 268 | .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) { |
268 | *(.data.cacheline_aligned) | 269 | *(.data.cacheline_aligned) |
269 | } | 270 | } |
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c index f5c6fd42265c..ae1d67cc090c 100644 --- a/arch/powerpc/mm/pgtable.c +++ b/arch/powerpc/mm/pgtable.c | |||
@@ -219,7 +219,8 @@ int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long address, | |||
219 | entry = do_dcache_icache_coherency(entry); | 219 | entry = do_dcache_icache_coherency(entry); |
220 | changed = !pte_same(*(ptep), entry); | 220 | changed = !pte_same(*(ptep), entry); |
221 | if (changed) { | 221 | if (changed) { |
222 | assert_pte_locked(vma->vm_mm, address); | 222 | if (!(vma->vm_flags & VM_HUGETLB)) |
223 | assert_pte_locked(vma->vm_mm, address); | ||
223 | __ptep_set_access_flags(ptep, entry); | 224 | __ptep_set_access_flags(ptep, entry); |
224 | flush_tlb_page_nohash(vma, address); | 225 | flush_tlb_page_nohash(vma, address); |
225 | } | 226 | } |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index df9e885eee14..a6efe0a2e9ae 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -498,6 +498,19 @@ config PARAVIRT | |||
498 | over full virtualization. However, when run without a hypervisor | 498 | over full virtualization. However, when run without a hypervisor |
499 | the kernel is theoretically slower and slightly larger. | 499 | the kernel is theoretically slower and slightly larger. |
500 | 500 | ||
501 | config PARAVIRT_SPINLOCKS | ||
502 | bool "Paravirtualization layer for spinlocks" | ||
503 | depends on PARAVIRT && SMP && EXPERIMENTAL | ||
504 | ---help--- | ||
505 | Paravirtualized spinlocks allow a pvops backend to replace the | ||
506 | spinlock implementation with something virtualization-friendly | ||
507 | (for example, block the virtual CPU rather than spinning). | ||
508 | |||
509 | Unfortunately the downside is an up to 5% performance hit on | ||
510 | native kernels, with various workloads. | ||
511 | |||
512 | If you are unsure how to answer this question, answer N. | ||
513 | |||
501 | config PARAVIRT_CLOCK | 514 | config PARAVIRT_CLOCK |
502 | bool | 515 | bool |
503 | default n | 516 | default n |
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h index 378e3691c08c..a53da004e08e 100644 --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h | |||
@@ -1443,7 +1443,7 @@ u64 _paravirt_ident_64(u64); | |||
1443 | 1443 | ||
1444 | #define paravirt_nop ((void *)_paravirt_nop) | 1444 | #define paravirt_nop ((void *)_paravirt_nop) |
1445 | 1445 | ||
1446 | #ifdef CONFIG_SMP | 1446 | #if defined(CONFIG_SMP) && defined(CONFIG_PARAVIRT_SPINLOCKS) |
1447 | 1447 | ||
1448 | static inline int __raw_spin_is_locked(struct raw_spinlock *lock) | 1448 | static inline int __raw_spin_is_locked(struct raw_spinlock *lock) |
1449 | { | 1449 | { |
diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h index aee103b26d01..02ecb30982a3 100644 --- a/arch/x86/include/asm/percpu.h +++ b/arch/x86/include/asm/percpu.h | |||
@@ -82,22 +82,22 @@ do { \ | |||
82 | case 1: \ | 82 | case 1: \ |
83 | asm(op "b %1,"__percpu_arg(0) \ | 83 | asm(op "b %1,"__percpu_arg(0) \ |
84 | : "+m" (var) \ | 84 | : "+m" (var) \ |
85 | : "ri" ((T__)val)); \ | 85 | : "qi" ((T__)(val))); \ |
86 | break; \ | 86 | break; \ |
87 | case 2: \ | 87 | case 2: \ |
88 | asm(op "w %1,"__percpu_arg(0) \ | 88 | asm(op "w %1,"__percpu_arg(0) \ |
89 | : "+m" (var) \ | 89 | : "+m" (var) \ |
90 | : "ri" ((T__)val)); \ | 90 | : "ri" ((T__)(val))); \ |
91 | break; \ | 91 | break; \ |
92 | case 4: \ | 92 | case 4: \ |
93 | asm(op "l %1,"__percpu_arg(0) \ | 93 | asm(op "l %1,"__percpu_arg(0) \ |
94 | : "+m" (var) \ | 94 | : "+m" (var) \ |
95 | : "ri" ((T__)val)); \ | 95 | : "ri" ((T__)(val))); \ |
96 | break; \ | 96 | break; \ |
97 | case 8: \ | 97 | case 8: \ |
98 | asm(op "q %1,"__percpu_arg(0) \ | 98 | asm(op "q %1,"__percpu_arg(0) \ |
99 | : "+m" (var) \ | 99 | : "+m" (var) \ |
100 | : "re" ((T__)val)); \ | 100 | : "re" ((T__)(val))); \ |
101 | break; \ | 101 | break; \ |
102 | default: __bad_percpu_size(); \ | 102 | default: __bad_percpu_size(); \ |
103 | } \ | 103 | } \ |
@@ -109,7 +109,7 @@ do { \ | |||
109 | switch (sizeof(var)) { \ | 109 | switch (sizeof(var)) { \ |
110 | case 1: \ | 110 | case 1: \ |
111 | asm(op "b "__percpu_arg(1)",%0" \ | 111 | asm(op "b "__percpu_arg(1)",%0" \ |
112 | : "=r" (ret__) \ | 112 | : "=q" (ret__) \ |
113 | : "m" (var)); \ | 113 | : "m" (var)); \ |
114 | break; \ | 114 | break; \ |
115 | case 2: \ | 115 | case 2: \ |
diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h index e304b66abeea..624f133943ed 100644 --- a/arch/x86/include/asm/ptrace.h +++ b/arch/x86/include/asm/ptrace.h | |||
@@ -187,14 +187,15 @@ static inline int v8086_mode(struct pt_regs *regs) | |||
187 | 187 | ||
188 | /* | 188 | /* |
189 | * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode | 189 | * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode |
190 | * when it traps. So regs will be the current sp. | 190 | * when it traps. The previous stack will be directly underneath the saved |
191 | * registers, and 'sp/ss' won't even have been saved. Thus the '®s->sp'. | ||
191 | * | 192 | * |
192 | * This is valid only for kernel mode traps. | 193 | * This is valid only for kernel mode traps. |
193 | */ | 194 | */ |
194 | static inline unsigned long kernel_trap_sp(struct pt_regs *regs) | 195 | static inline unsigned long kernel_stack_pointer(struct pt_regs *regs) |
195 | { | 196 | { |
196 | #ifdef CONFIG_X86_32 | 197 | #ifdef CONFIG_X86_32 |
197 | return (unsigned long)regs; | 198 | return (unsigned long)(®s->sp); |
198 | #else | 199 | #else |
199 | return regs->sp; | 200 | return regs->sp; |
200 | #endif | 201 | #endif |
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h index e5e6caffec87..b7e5db876399 100644 --- a/arch/x86/include/asm/spinlock.h +++ b/arch/x86/include/asm/spinlock.h | |||
@@ -172,7 +172,7 @@ static inline int __ticket_spin_is_contended(raw_spinlock_t *lock) | |||
172 | return (((tmp >> TICKET_SHIFT) - tmp) & ((1 << TICKET_SHIFT) - 1)) > 1; | 172 | return (((tmp >> TICKET_SHIFT) - tmp) & ((1 << TICKET_SHIFT) - 1)) > 1; |
173 | } | 173 | } |
174 | 174 | ||
175 | #ifndef CONFIG_PARAVIRT | 175 | #ifndef CONFIG_PARAVIRT_SPINLOCKS |
176 | 176 | ||
177 | static inline int __raw_spin_is_locked(raw_spinlock_t *lock) | 177 | static inline int __raw_spin_is_locked(raw_spinlock_t *lock) |
178 | { | 178 | { |
@@ -206,7 +206,7 @@ static __always_inline void __raw_spin_lock_flags(raw_spinlock_t *lock, | |||
206 | __raw_spin_lock(lock); | 206 | __raw_spin_lock(lock); |
207 | } | 207 | } |
208 | 208 | ||
209 | #endif | 209 | #endif /* CONFIG_PARAVIRT_SPINLOCKS */ |
210 | 210 | ||
211 | static inline void __raw_spin_unlock_wait(raw_spinlock_t *lock) | 211 | static inline void __raw_spin_unlock_wait(raw_spinlock_t *lock) |
212 | { | 212 | { |
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index 145cce75cda7..88d1bfc847d3 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile | |||
@@ -89,7 +89,8 @@ obj-$(CONFIG_DEBUG_NX_TEST) += test_nx.o | |||
89 | obj-$(CONFIG_VMI) += vmi_32.o vmiclock_32.o | 89 | obj-$(CONFIG_VMI) += vmi_32.o vmiclock_32.o |
90 | obj-$(CONFIG_KVM_GUEST) += kvm.o | 90 | obj-$(CONFIG_KVM_GUEST) += kvm.o |
91 | obj-$(CONFIG_KVM_CLOCK) += kvmclock.o | 91 | obj-$(CONFIG_KVM_CLOCK) += kvmclock.o |
92 | obj-$(CONFIG_PARAVIRT) += paravirt.o paravirt_patch_$(BITS).o paravirt-spinlocks.o | 92 | obj-$(CONFIG_PARAVIRT) += paravirt.o paravirt_patch_$(BITS).o |
93 | obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= paravirt-spinlocks.o | ||
93 | obj-$(CONFIG_PARAVIRT_CLOCK) += pvclock.o | 94 | obj-$(CONFIG_PARAVIRT_CLOCK) += pvclock.o |
94 | 95 | ||
95 | obj-$(CONFIG_PCSPKR_PLATFORM) += pcspeaker.o | 96 | obj-$(CONFIG_PCSPKR_PLATFORM) += pcspeaker.o |
diff --git a/arch/x86/kernel/apic/es7000_32.c b/arch/x86/kernel/apic/es7000_32.c index 1c11b819f245..302947775575 100644 --- a/arch/x86/kernel/apic/es7000_32.c +++ b/arch/x86/kernel/apic/es7000_32.c | |||
@@ -254,7 +254,7 @@ static int parse_unisys_oem(char *oemptr) | |||
254 | } | 254 | } |
255 | 255 | ||
256 | #ifdef CONFIG_ACPI | 256 | #ifdef CONFIG_ACPI |
257 | static int find_unisys_acpi_oem_table(unsigned long *oem_addr) | 257 | static int __init find_unisys_acpi_oem_table(unsigned long *oem_addr) |
258 | { | 258 | { |
259 | struct acpi_table_header *header = NULL; | 259 | struct acpi_table_header *header = NULL; |
260 | struct es7000_oem_table *table; | 260 | struct es7000_oem_table *table; |
@@ -285,7 +285,7 @@ static int find_unisys_acpi_oem_table(unsigned long *oem_addr) | |||
285 | return 0; | 285 | return 0; |
286 | } | 286 | } |
287 | 287 | ||
288 | static void unmap_unisys_acpi_oem_table(unsigned long oem_addr) | 288 | static void __init unmap_unisys_acpi_oem_table(unsigned long oem_addr) |
289 | { | 289 | { |
290 | if (!oem_addr) | 290 | if (!oem_addr) |
291 | return; | 291 | return; |
@@ -306,7 +306,7 @@ static int es7000_check_dsdt(void) | |||
306 | static int es7000_acpi_ret; | 306 | static int es7000_acpi_ret; |
307 | 307 | ||
308 | /* Hook from generic ACPI tables.c */ | 308 | /* Hook from generic ACPI tables.c */ |
309 | static int es7000_acpi_madt_oem_check(char *oem_id, char *oem_table_id) | 309 | static int __init es7000_acpi_madt_oem_check(char *oem_id, char *oem_table_id) |
310 | { | 310 | { |
311 | unsigned long oem_addr = 0; | 311 | unsigned long oem_addr = 0; |
312 | int check_dsdt; | 312 | int check_dsdt; |
@@ -717,7 +717,7 @@ struct apic apic_es7000_cluster = { | |||
717 | .safe_wait_icr_idle = native_safe_apic_wait_icr_idle, | 717 | .safe_wait_icr_idle = native_safe_apic_wait_icr_idle, |
718 | }; | 718 | }; |
719 | 719 | ||
720 | struct apic apic_es7000 = { | 720 | struct apic __refdata apic_es7000 = { |
721 | 721 | ||
722 | .name = "es7000", | 722 | .name = "es7000", |
723 | .probe = probe_es7000, | 723 | .probe = probe_es7000, |
diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c index 0b776c09aff3..d21d4fb161f7 100644 --- a/arch/x86/kernel/cpu/mtrr/generic.c +++ b/arch/x86/kernel/cpu/mtrr/generic.c | |||
@@ -275,7 +275,11 @@ static void __init print_mtrr_state(void) | |||
275 | } | 275 | } |
276 | printk(KERN_DEBUG "MTRR variable ranges %sabled:\n", | 276 | printk(KERN_DEBUG "MTRR variable ranges %sabled:\n", |
277 | mtrr_state.enabled & 2 ? "en" : "dis"); | 277 | mtrr_state.enabled & 2 ? "en" : "dis"); |
278 | high_width = ((size_or_mask ? ffs(size_or_mask) - 1 : 32) - (32 - PAGE_SHIFT) + 3) / 4; | 278 | if (size_or_mask & 0xffffffffUL) |
279 | high_width = ffs(size_or_mask & 0xffffffffUL) - 1; | ||
280 | else | ||
281 | high_width = ffs(size_or_mask>>32) + 32 - 1; | ||
282 | high_width = (high_width - (32 - PAGE_SHIFT) + 3) / 4; | ||
279 | for (i = 0; i < num_var_ranges; ++i) { | 283 | for (i = 0; i < num_var_ranges; ++i) { |
280 | if (mtrr_state.var_ranges[i].mask_lo & (1 << 11)) | 284 | if (mtrr_state.var_ranges[i].mask_lo & (1 << 11)) |
281 | printk(KERN_DEBUG " %u base %0*X%05X000 mask %0*X%05X000 %s\n", | 285 | printk(KERN_DEBUG " %u base %0*X%05X000 mask %0*X%05X000 %s\n", |
diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c index 18dfa30795c9..b79c5533c421 100644 --- a/arch/x86/kernel/ftrace.c +++ b/arch/x86/kernel/ftrace.c | |||
@@ -442,7 +442,7 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr) | |||
442 | _ASM_EXTABLE(1b, 4b) | 442 | _ASM_EXTABLE(1b, 4b) |
443 | _ASM_EXTABLE(2b, 4b) | 443 | _ASM_EXTABLE(2b, 4b) |
444 | 444 | ||
445 | : [old] "=r" (old), [faulted] "=r" (faulted) | 445 | : [old] "=&r" (old), [faulted] "=r" (faulted) |
446 | : [parent] "r" (parent), [return_hooker] "r" (return_hooker) | 446 | : [parent] "r" (parent), [return_hooker] "r" (return_hooker) |
447 | : "memory" | 447 | : "memory" |
448 | ); | 448 | ); |
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index 8e45f4464880..9faf43bea336 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c | |||
@@ -134,7 +134,9 @@ static void *get_call_destination(u8 type) | |||
134 | .pv_irq_ops = pv_irq_ops, | 134 | .pv_irq_ops = pv_irq_ops, |
135 | .pv_apic_ops = pv_apic_ops, | 135 | .pv_apic_ops = pv_apic_ops, |
136 | .pv_mmu_ops = pv_mmu_ops, | 136 | .pv_mmu_ops = pv_mmu_ops, |
137 | #ifdef CONFIG_PARAVIRT_SPINLOCKS | ||
137 | .pv_lock_ops = pv_lock_ops, | 138 | .pv_lock_ops = pv_lock_ops, |
139 | #endif | ||
138 | }; | 140 | }; |
139 | return *((void **)&tmpl + type); | 141 | return *((void **)&tmpl + type); |
140 | } | 142 | } |
diff --git a/arch/x86/oprofile/backtrace.c b/arch/x86/oprofile/backtrace.c index 04df67f8a7ba..044897be021f 100644 --- a/arch/x86/oprofile/backtrace.c +++ b/arch/x86/oprofile/backtrace.c | |||
@@ -76,9 +76,9 @@ void | |||
76 | x86_backtrace(struct pt_regs * const regs, unsigned int depth) | 76 | x86_backtrace(struct pt_regs * const regs, unsigned int depth) |
77 | { | 77 | { |
78 | struct frame_head *head = (struct frame_head *)frame_pointer(regs); | 78 | struct frame_head *head = (struct frame_head *)frame_pointer(regs); |
79 | unsigned long stack = kernel_trap_sp(regs); | ||
80 | 79 | ||
81 | if (!user_mode_vm(regs)) { | 80 | if (!user_mode_vm(regs)) { |
81 | unsigned long stack = kernel_stack_pointer(regs); | ||
82 | if (depth) | 82 | if (depth) |
83 | dump_trace(NULL, regs, (unsigned long *)stack, 0, | 83 | dump_trace(NULL, regs, (unsigned long *)stack, 0, |
84 | &backtrace_ops, &depth); | 84 | &backtrace_ops, &depth); |
diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile index 3b767d03fd6a..172438f86a02 100644 --- a/arch/x86/xen/Makefile +++ b/arch/x86/xen/Makefile | |||
@@ -9,5 +9,6 @@ obj-y := enlighten.o setup.o multicalls.o mmu.o irq.o \ | |||
9 | time.o xen-asm.o xen-asm_$(BITS).o \ | 9 | time.o xen-asm.o xen-asm_$(BITS).o \ |
10 | grant-table.o suspend.o | 10 | grant-table.o suspend.o |
11 | 11 | ||
12 | obj-$(CONFIG_SMP) += smp.o spinlock.o | 12 | obj-$(CONFIG_SMP) += smp.o |
13 | obj-$(CONFIG_XEN_DEBUG_FS) += debugfs.o \ No newline at end of file | 13 | obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= spinlock.o |
14 | obj-$(CONFIG_XEN_DEBUG_FS) += debugfs.o | ||
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c index e25a78e1113a..fba55b1a4021 100644 --- a/arch/x86/xen/mmu.c +++ b/arch/x86/xen/mmu.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <linux/highmem.h> | 42 | #include <linux/highmem.h> |
43 | #include <linux/debugfs.h> | 43 | #include <linux/debugfs.h> |
44 | #include <linux/bug.h> | 44 | #include <linux/bug.h> |
45 | #include <linux/module.h> | ||
45 | 46 | ||
46 | #include <asm/pgtable.h> | 47 | #include <asm/pgtable.h> |
47 | #include <asm/tlbflush.h> | 48 | #include <asm/tlbflush.h> |
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h index 20139464943c..ca6596b05d53 100644 --- a/arch/x86/xen/xen-ops.h +++ b/arch/x86/xen/xen-ops.h | |||
@@ -62,15 +62,26 @@ void xen_setup_vcpu_info_placement(void); | |||
62 | #ifdef CONFIG_SMP | 62 | #ifdef CONFIG_SMP |
63 | void xen_smp_init(void); | 63 | void xen_smp_init(void); |
64 | 64 | ||
65 | void __init xen_init_spinlocks(void); | ||
66 | __cpuinit void xen_init_lock_cpu(int cpu); | ||
67 | void xen_uninit_lock_cpu(int cpu); | ||
68 | |||
69 | extern cpumask_var_t xen_cpu_initialized_map; | 65 | extern cpumask_var_t xen_cpu_initialized_map; |
70 | #else | 66 | #else |
71 | static inline void xen_smp_init(void) {} | 67 | static inline void xen_smp_init(void) {} |
72 | #endif | 68 | #endif |
73 | 69 | ||
70 | #ifdef CONFIG_PARAVIRT_SPINLOCKS | ||
71 | void __init xen_init_spinlocks(void); | ||
72 | __cpuinit void xen_init_lock_cpu(int cpu); | ||
73 | void xen_uninit_lock_cpu(int cpu); | ||
74 | #else | ||
75 | static inline void xen_init_spinlocks(void) | ||
76 | { | ||
77 | } | ||
78 | static inline void xen_init_lock_cpu(int cpu) | ||
79 | { | ||
80 | } | ||
81 | static inline void xen_uninit_lock_cpu(int cpu) | ||
82 | { | ||
83 | } | ||
84 | #endif | ||
74 | 85 | ||
75 | /* Declare an asm function, along with symbols needed to make it | 86 | /* Declare an asm function, along with symbols needed to make it |
76 | inlineable */ | 87 | inlineable */ |
diff --git a/crypto/api.c b/crypto/api.c index 314dab96840e..fd2545decb28 100644 --- a/crypto/api.c +++ b/crypto/api.c | |||
@@ -221,7 +221,8 @@ struct crypto_alg *crypto_larval_lookup(const char *name, u32 type, u32 mask) | |||
221 | 221 | ||
222 | request_module(name); | 222 | request_module(name); |
223 | 223 | ||
224 | if (!((type ^ CRYPTO_ALG_NEED_FALLBACK) & mask) && | 224 | if (!((type ^ CRYPTO_ALG_NEED_FALLBACK) & mask & |
225 | CRYPTO_ALG_NEED_FALLBACK) && | ||
225 | snprintf(tmp, sizeof(tmp), "%s-all", name) < sizeof(tmp)) | 226 | snprintf(tmp, sizeof(tmp), "%s-all", name) < sizeof(tmp)) |
226 | request_module(tmp); | 227 | request_module(tmp); |
227 | 228 | ||
diff --git a/crypto/eseqiv.c b/crypto/eseqiv.c index 2a342c8e52b3..3ca3b669d5d5 100644 --- a/crypto/eseqiv.c +++ b/crypto/eseqiv.c | |||
@@ -153,7 +153,8 @@ static int eseqiv_givencrypt(struct skcipher_givcrypt_request *req) | |||
153 | if (err) | 153 | if (err) |
154 | goto out; | 154 | goto out; |
155 | 155 | ||
156 | eseqiv_complete2(req); | 156 | if (giv != req->giv) |
157 | eseqiv_complete2(req); | ||
157 | 158 | ||
158 | out: | 159 | out: |
159 | return err; | 160 | return err; |
diff --git a/drivers/char/random.c b/drivers/char/random.c index b2ced39d76b2..8c7444857a4b 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c | |||
@@ -1673,7 +1673,7 @@ unsigned int get_random_int(void) | |||
1673 | int ret; | 1673 | int ret; |
1674 | 1674 | ||
1675 | keyptr = get_keyptr(); | 1675 | keyptr = get_keyptr(); |
1676 | hash[0] += current->pid + jiffies + get_cycles() + (int)(long)&ret; | 1676 | hash[0] += current->pid + jiffies + get_cycles(); |
1677 | 1677 | ||
1678 | ret = half_md4_transform(hash, keyptr->secret); | 1678 | ret = half_md4_transform(hash, keyptr->secret); |
1679 | put_cpu_var(get_random_int_hash); | 1679 | put_cpu_var(get_random_int_hash); |
diff --git a/drivers/char/tpm/tpm_bios.c b/drivers/char/tpm/tpm_bios.c index ed306eb1057f..0c2f55a38b95 100644 --- a/drivers/char/tpm/tpm_bios.c +++ b/drivers/char/tpm/tpm_bios.c | |||
@@ -212,7 +212,8 @@ static int get_event_name(char *dest, struct tcpa_event *event, | |||
212 | unsigned char * event_entry) | 212 | unsigned char * event_entry) |
213 | { | 213 | { |
214 | const char *name = ""; | 214 | const char *name = ""; |
215 | char data[40] = ""; | 215 | /* 41 so there is room for 40 data and 1 nul */ |
216 | char data[41] = ""; | ||
216 | int i, n_len = 0, d_len = 0; | 217 | int i, n_len = 0, d_len = 0; |
217 | struct tcpa_pc_event *pc_event; | 218 | struct tcpa_pc_event *pc_event; |
218 | 219 | ||
diff --git a/drivers/crypto/ixp4xx_crypto.c b/drivers/crypto/ixp4xx_crypto.c index f9f05d7a707d..6c6656d3b1e2 100644 --- a/drivers/crypto/ixp4xx_crypto.c +++ b/drivers/crypto/ixp4xx_crypto.c | |||
@@ -415,6 +415,7 @@ static void crypto_done_action(unsigned long arg) | |||
415 | static int init_ixp_crypto(void) | 415 | static int init_ixp_crypto(void) |
416 | { | 416 | { |
417 | int ret = -ENODEV; | 417 | int ret = -ENODEV; |
418 | u32 msg[2] = { 0, 0 }; | ||
418 | 419 | ||
419 | if (! ( ~(*IXP4XX_EXP_CFG2) & (IXP4XX_FEATURE_HASH | | 420 | if (! ( ~(*IXP4XX_EXP_CFG2) & (IXP4XX_FEATURE_HASH | |
420 | IXP4XX_FEATURE_AES | IXP4XX_FEATURE_DES))) { | 421 | IXP4XX_FEATURE_AES | IXP4XX_FEATURE_DES))) { |
@@ -426,9 +427,35 @@ static int init_ixp_crypto(void) | |||
426 | return ret; | 427 | return ret; |
427 | 428 | ||
428 | if (!npe_running(npe_c)) { | 429 | if (!npe_running(npe_c)) { |
429 | npe_load_firmware(npe_c, npe_name(npe_c), dev); | 430 | ret = npe_load_firmware(npe_c, npe_name(npe_c), dev); |
431 | if (ret) { | ||
432 | return ret; | ||
433 | } | ||
434 | if (npe_recv_message(npe_c, msg, "STATUS_MSG")) | ||
435 | goto npe_error; | ||
436 | } else { | ||
437 | if (npe_send_message(npe_c, msg, "STATUS_MSG")) | ||
438 | goto npe_error; | ||
439 | |||
440 | if (npe_recv_message(npe_c, msg, "STATUS_MSG")) | ||
441 | goto npe_error; | ||
430 | } | 442 | } |
431 | 443 | ||
444 | switch ((msg[1]>>16) & 0xff) { | ||
445 | case 3: | ||
446 | printk(KERN_WARNING "Firmware of %s lacks AES support\n", | ||
447 | npe_name(npe_c)); | ||
448 | support_aes = 0; | ||
449 | break; | ||
450 | case 4: | ||
451 | case 5: | ||
452 | support_aes = 1; | ||
453 | break; | ||
454 | default: | ||
455 | printk(KERN_ERR "Firmware of %s lacks crypto support\n", | ||
456 | npe_name(npe_c)); | ||
457 | return -ENODEV; | ||
458 | } | ||
432 | /* buffer_pool will also be used to sometimes store the hmac, | 459 | /* buffer_pool will also be used to sometimes store the hmac, |
433 | * so assure it is large enough | 460 | * so assure it is large enough |
434 | */ | 461 | */ |
@@ -459,6 +486,10 @@ static int init_ixp_crypto(void) | |||
459 | 486 | ||
460 | qmgr_enable_irq(RECV_QID); | 487 | qmgr_enable_irq(RECV_QID); |
461 | return 0; | 488 | return 0; |
489 | |||
490 | npe_error: | ||
491 | printk(KERN_ERR "%s not responding\n", npe_name(npe_c)); | ||
492 | ret = -EIO; | ||
462 | err: | 493 | err: |
463 | if (ctx_pool) | 494 | if (ctx_pool) |
464 | dma_pool_destroy(ctx_pool); | 495 | dma_pool_destroy(ctx_pool); |
diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c index 3f0fdd18255d..856b3cc25583 100644 --- a/drivers/crypto/padlock-aes.c +++ b/drivers/crypto/padlock-aes.c | |||
@@ -489,4 +489,4 @@ MODULE_DESCRIPTION("VIA PadLock AES algorithm support"); | |||
489 | MODULE_LICENSE("GPL"); | 489 | MODULE_LICENSE("GPL"); |
490 | MODULE_AUTHOR("Michal Ludvig"); | 490 | MODULE_AUTHOR("Michal Ludvig"); |
491 | 491 | ||
492 | MODULE_ALIAS("aes-all"); | 492 | MODULE_ALIAS("aes"); |
diff --git a/drivers/mtd/devices/mtd_dataflash.c b/drivers/mtd/devices/mtd_dataflash.c index 62dee54af0a5..43976aa4dbb1 100644 --- a/drivers/mtd/devices/mtd_dataflash.c +++ b/drivers/mtd/devices/mtd_dataflash.c | |||
@@ -178,7 +178,7 @@ static int dataflash_erase(struct mtd_info *mtd, struct erase_info *instr) | |||
178 | /* Calculate flash page address; use block erase (for speed) if | 178 | /* Calculate flash page address; use block erase (for speed) if |
179 | * we're at a block boundary and need to erase the whole block. | 179 | * we're at a block boundary and need to erase the whole block. |
180 | */ | 180 | */ |
181 | pageaddr = div_u64(instr->len, priv->page_size); | 181 | pageaddr = div_u64(instr->addr, priv->page_size); |
182 | do_block = (pageaddr & 0x7) == 0 && instr->len >= blocksize; | 182 | do_block = (pageaddr & 0x7) == 0 && instr->len >= blocksize; |
183 | pageaddr = pageaddr << priv->page_offset; | 183 | pageaddr = pageaddr << priv->page_offset; |
184 | 184 | ||
diff --git a/drivers/regulator/da903x.c b/drivers/regulator/da903x.c index 72b15495183c..c6628f5a0af7 100644 --- a/drivers/regulator/da903x.c +++ b/drivers/regulator/da903x.c | |||
@@ -497,7 +497,7 @@ static struct platform_driver da903x_regulator_driver = { | |||
497 | .owner = THIS_MODULE, | 497 | .owner = THIS_MODULE, |
498 | }, | 498 | }, |
499 | .probe = da903x_regulator_probe, | 499 | .probe = da903x_regulator_probe, |
500 | .remove = da903x_regulator_remove, | 500 | .remove = __devexit_p(da903x_regulator_remove), |
501 | }; | 501 | }; |
502 | 502 | ||
503 | static int __init da903x_regulator_init(void) | 503 | static int __init da903x_regulator_init(void) |
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index 0ab8474b00cb..d9fcdaedf389 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c | |||
@@ -1487,14 +1487,7 @@ static int ftdi_sio_port_remove(struct usb_serial_port *port) | |||
1487 | 1487 | ||
1488 | remove_sysfs_attrs(port); | 1488 | remove_sysfs_attrs(port); |
1489 | 1489 | ||
1490 | /* all open ports are closed at this point | 1490 | kref_put(&priv->kref, ftdi_sio_priv_release); |
1491 | * (by usbserial.c:__serial_close, which calls ftdi_close) | ||
1492 | */ | ||
1493 | |||
1494 | if (priv) { | ||
1495 | usb_set_serial_port_data(port, NULL); | ||
1496 | kref_put(&priv->kref, ftdi_sio_priv_release); | ||
1497 | } | ||
1498 | 1491 | ||
1499 | return 0; | 1492 | return 0; |
1500 | } | 1493 | } |
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 370b190a09d1..89f98e9a024b 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c | |||
@@ -1943,7 +1943,8 @@ int nfs_permission(struct inode *inode, int mask) | |||
1943 | case S_IFREG: | 1943 | case S_IFREG: |
1944 | /* NFSv4 has atomic_open... */ | 1944 | /* NFSv4 has atomic_open... */ |
1945 | if (nfs_server_capable(inode, NFS_CAP_ATOMIC_OPEN) | 1945 | if (nfs_server_capable(inode, NFS_CAP_ATOMIC_OPEN) |
1946 | && (mask & MAY_OPEN)) | 1946 | && (mask & MAY_OPEN) |
1947 | && !(mask & MAY_EXEC)) | ||
1947 | goto out; | 1948 | goto out; |
1948 | break; | 1949 | break; |
1949 | case S_IFDIR: | 1950 | case S_IFDIR: |
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 1215a4f50cd2..3567fb9e3fb1 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c | |||
@@ -448,13 +448,11 @@ int remove_save_link(struct inode *inode, int truncate) | |||
448 | static void reiserfs_kill_sb(struct super_block *s) | 448 | static void reiserfs_kill_sb(struct super_block *s) |
449 | { | 449 | { |
450 | if (REISERFS_SB(s)) { | 450 | if (REISERFS_SB(s)) { |
451 | #ifdef CONFIG_REISERFS_FS_XATTR | ||
452 | if (REISERFS_SB(s)->xattr_root) { | 451 | if (REISERFS_SB(s)->xattr_root) { |
453 | d_invalidate(REISERFS_SB(s)->xattr_root); | 452 | d_invalidate(REISERFS_SB(s)->xattr_root); |
454 | dput(REISERFS_SB(s)->xattr_root); | 453 | dput(REISERFS_SB(s)->xattr_root); |
455 | REISERFS_SB(s)->xattr_root = NULL; | 454 | REISERFS_SB(s)->xattr_root = NULL; |
456 | } | 455 | } |
457 | #endif | ||
458 | if (REISERFS_SB(s)->priv_root) { | 456 | if (REISERFS_SB(s)->priv_root) { |
459 | d_invalidate(REISERFS_SB(s)->priv_root); | 457 | d_invalidate(REISERFS_SB(s)->priv_root); |
460 | dput(REISERFS_SB(s)->priv_root); | 458 | dput(REISERFS_SB(s)->priv_root); |
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c index 2237e10c7c7c..8e7deb0e6964 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c | |||
@@ -123,7 +123,9 @@ static struct dentry *open_xa_root(struct super_block *sb, int flags) | |||
123 | mutex_lock_nested(&privroot->d_inode->i_mutex, I_MUTEX_XATTR); | 123 | mutex_lock_nested(&privroot->d_inode->i_mutex, I_MUTEX_XATTR); |
124 | 124 | ||
125 | xaroot = dget(REISERFS_SB(sb)->xattr_root); | 125 | xaroot = dget(REISERFS_SB(sb)->xattr_root); |
126 | if (!xaroot->d_inode) { | 126 | if (!xaroot) |
127 | xaroot = ERR_PTR(-ENODATA); | ||
128 | else if (!xaroot->d_inode) { | ||
127 | int err = -ENODATA; | 129 | int err = -ENODATA; |
128 | if (xattr_may_create(flags)) | 130 | if (xattr_may_create(flags)) |
129 | err = xattr_mkdir(privroot->d_inode, xaroot, 0700); | 131 | err = xattr_mkdir(privroot->d_inode, xaroot, 0700); |
@@ -685,20 +687,6 @@ out: | |||
685 | return err; | 687 | return err; |
686 | } | 688 | } |
687 | 689 | ||
688 | /* Actual operations that are exported to VFS-land */ | ||
689 | struct xattr_handler *reiserfs_xattr_handlers[] = { | ||
690 | &reiserfs_xattr_user_handler, | ||
691 | &reiserfs_xattr_trusted_handler, | ||
692 | #ifdef CONFIG_REISERFS_FS_SECURITY | ||
693 | &reiserfs_xattr_security_handler, | ||
694 | #endif | ||
695 | #ifdef CONFIG_REISERFS_FS_POSIX_ACL | ||
696 | &reiserfs_posix_acl_access_handler, | ||
697 | &reiserfs_posix_acl_default_handler, | ||
698 | #endif | ||
699 | NULL | ||
700 | }; | ||
701 | |||
702 | /* | 690 | /* |
703 | * In order to implement different sets of xattr operations for each xattr | 691 | * In order to implement different sets of xattr operations for each xattr |
704 | * prefix with the generic xattr API, a filesystem should create a | 692 | * prefix with the generic xattr API, a filesystem should create a |
@@ -883,23 +871,6 @@ static int reiserfs_check_acl(struct inode *inode, int mask) | |||
883 | return error; | 871 | return error; |
884 | } | 872 | } |
885 | 873 | ||
886 | int reiserfs_permission(struct inode *inode, int mask) | ||
887 | { | ||
888 | /* | ||
889 | * We don't do permission checks on the internal objects. | ||
890 | * Permissions are determined by the "owning" object. | ||
891 | */ | ||
892 | if (IS_PRIVATE(inode)) | ||
893 | return 0; | ||
894 | /* | ||
895 | * Stat data v1 doesn't support ACLs. | ||
896 | */ | ||
897 | if (get_inode_sd_version(inode) == STAT_DATA_V1) | ||
898 | return generic_permission(inode, mask, NULL); | ||
899 | else | ||
900 | return generic_permission(inode, mask, reiserfs_check_acl); | ||
901 | } | ||
902 | |||
903 | static int create_privroot(struct dentry *dentry) | 874 | static int create_privroot(struct dentry *dentry) |
904 | { | 875 | { |
905 | int err; | 876 | int err; |
@@ -922,6 +893,28 @@ static int create_privroot(struct dentry *dentry) | |||
922 | return 0; | 893 | return 0; |
923 | } | 894 | } |
924 | 895 | ||
896 | #else | ||
897 | int __init reiserfs_xattr_register_handlers(void) { return 0; } | ||
898 | void reiserfs_xattr_unregister_handlers(void) {} | ||
899 | static int create_privroot(struct dentry *dentry) { return 0; } | ||
900 | #endif | ||
901 | |||
902 | /* Actual operations that are exported to VFS-land */ | ||
903 | struct xattr_handler *reiserfs_xattr_handlers[] = { | ||
904 | #ifdef CONFIG_REISERFS_FS_XATTR | ||
905 | &reiserfs_xattr_user_handler, | ||
906 | &reiserfs_xattr_trusted_handler, | ||
907 | #endif | ||
908 | #ifdef CONFIG_REISERFS_FS_SECURITY | ||
909 | &reiserfs_xattr_security_handler, | ||
910 | #endif | ||
911 | #ifdef CONFIG_REISERFS_FS_POSIX_ACL | ||
912 | &reiserfs_posix_acl_access_handler, | ||
913 | &reiserfs_posix_acl_default_handler, | ||
914 | #endif | ||
915 | NULL | ||
916 | }; | ||
917 | |||
925 | static int xattr_mount_check(struct super_block *s) | 918 | static int xattr_mount_check(struct super_block *s) |
926 | { | 919 | { |
927 | /* We need generation numbers to ensure that the oid mapping is correct | 920 | /* We need generation numbers to ensure that the oid mapping is correct |
@@ -941,10 +934,24 @@ static int xattr_mount_check(struct super_block *s) | |||
941 | return 0; | 934 | return 0; |
942 | } | 935 | } |
943 | 936 | ||
944 | #else | 937 | int reiserfs_permission(struct inode *inode, int mask) |
945 | int __init reiserfs_xattr_register_handlers(void) { return 0; } | 938 | { |
946 | void reiserfs_xattr_unregister_handlers(void) {} | 939 | /* |
940 | * We don't do permission checks on the internal objects. | ||
941 | * Permissions are determined by the "owning" object. | ||
942 | */ | ||
943 | if (IS_PRIVATE(inode)) | ||
944 | return 0; | ||
945 | |||
946 | #ifdef CONFIG_REISERFS_FS_XATTR | ||
947 | /* | ||
948 | * Stat data v1 doesn't support ACLs. | ||
949 | */ | ||
950 | if (get_inode_sd_version(inode) != STAT_DATA_V1) | ||
951 | return generic_permission(inode, mask, reiserfs_check_acl); | ||
947 | #endif | 952 | #endif |
953 | return generic_permission(inode, mask, NULL); | ||
954 | } | ||
948 | 955 | ||
949 | /* This will catch lookups from the fs root to .reiserfs_priv */ | 956 | /* This will catch lookups from the fs root to .reiserfs_priv */ |
950 | static int | 957 | static int |
@@ -992,7 +999,6 @@ int reiserfs_xattr_init(struct super_block *s, int mount_flags) | |||
992 | int err = 0; | 999 | int err = 0; |
993 | struct dentry *privroot = REISERFS_SB(s)->priv_root; | 1000 | struct dentry *privroot = REISERFS_SB(s)->priv_root; |
994 | 1001 | ||
995 | #ifdef CONFIG_REISERFS_FS_XATTR | ||
996 | err = xattr_mount_check(s); | 1002 | err = xattr_mount_check(s); |
997 | if (err) | 1003 | if (err) |
998 | goto error; | 1004 | goto error; |
@@ -1023,14 +1029,11 @@ error: | |||
1023 | clear_bit(REISERFS_XATTRS_USER, &(REISERFS_SB(s)->s_mount_opt)); | 1029 | clear_bit(REISERFS_XATTRS_USER, &(REISERFS_SB(s)->s_mount_opt)); |
1024 | clear_bit(REISERFS_POSIXACL, &(REISERFS_SB(s)->s_mount_opt)); | 1030 | clear_bit(REISERFS_POSIXACL, &(REISERFS_SB(s)->s_mount_opt)); |
1025 | } | 1031 | } |
1026 | #endif | ||
1027 | 1032 | ||
1028 | /* The super_block MS_POSIXACL must mirror the (no)acl mount option. */ | 1033 | /* The super_block MS_POSIXACL must mirror the (no)acl mount option. */ |
1029 | #ifdef CONFIG_REISERFS_FS_POSIX_ACL | ||
1030 | if (reiserfs_posixacl(s)) | 1034 | if (reiserfs_posixacl(s)) |
1031 | s->s_flags |= MS_POSIXACL; | 1035 | s->s_flags |= MS_POSIXACL; |
1032 | else | 1036 | else |
1033 | #endif | ||
1034 | s->s_flags &= ~MS_POSIXACL; | 1037 | s->s_flags &= ~MS_POSIXACL; |
1035 | 1038 | ||
1036 | return err; | 1039 | return err; |
diff --git a/include/asm-generic/local.h b/include/asm-generic/local.h index dbd6150763e9..fc218444e315 100644 --- a/include/asm-generic/local.h +++ b/include/asm-generic/local.h | |||
@@ -42,7 +42,7 @@ typedef struct | |||
42 | 42 | ||
43 | #define local_cmpxchg(l, o, n) atomic_long_cmpxchg((&(l)->a), (o), (n)) | 43 | #define local_cmpxchg(l, o, n) atomic_long_cmpxchg((&(l)->a), (o), (n)) |
44 | #define local_xchg(l, n) atomic_long_xchg((&(l)->a), (n)) | 44 | #define local_xchg(l, n) atomic_long_xchg((&(l)->a), (n)) |
45 | #define local_add_unless(l, a, u) atomic_long_add_unless((&(l)->a), (a), (u)) | 45 | #define local_add_unless(l, _a, u) atomic_long_add_unless((&(l)->a), (_a), (u)) |
46 | #define local_inc_not_zero(l) atomic_long_inc_not_zero(&(l)->a) | 46 | #define local_inc_not_zero(l) atomic_long_inc_not_zero(&(l)->a) |
47 | 47 | ||
48 | /* Non-atomic variants, ie. preemption disabled and won't be touched | 48 | /* Non-atomic variants, ie. preemption disabled and won't be touched |
diff --git a/include/linux/reiserfs_xattr.h b/include/linux/reiserfs_xattr.h index cdedc01036e4..99928dce37ea 100644 --- a/include/linux/reiserfs_xattr.h +++ b/include/linux/reiserfs_xattr.h | |||
@@ -41,6 +41,7 @@ int reiserfs_xattr_init(struct super_block *sb, int mount_flags); | |||
41 | int reiserfs_lookup_privroot(struct super_block *sb); | 41 | int reiserfs_lookup_privroot(struct super_block *sb); |
42 | int reiserfs_delete_xattrs(struct inode *inode); | 42 | int reiserfs_delete_xattrs(struct inode *inode); |
43 | int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs); | 43 | int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs); |
44 | int reiserfs_permission(struct inode *inode, int mask); | ||
44 | 45 | ||
45 | #ifdef CONFIG_REISERFS_FS_XATTR | 46 | #ifdef CONFIG_REISERFS_FS_XATTR |
46 | #define has_xattr_dir(inode) (REISERFS_I(inode)->i_flags & i_has_xattr_dir) | 47 | #define has_xattr_dir(inode) (REISERFS_I(inode)->i_flags & i_has_xattr_dir) |
@@ -50,7 +51,6 @@ int reiserfs_setxattr(struct dentry *dentry, const char *name, | |||
50 | const void *value, size_t size, int flags); | 51 | const void *value, size_t size, int flags); |
51 | ssize_t reiserfs_listxattr(struct dentry *dentry, char *buffer, size_t size); | 52 | ssize_t reiserfs_listxattr(struct dentry *dentry, char *buffer, size_t size); |
52 | int reiserfs_removexattr(struct dentry *dentry, const char *name); | 53 | int reiserfs_removexattr(struct dentry *dentry, const char *name); |
53 | int reiserfs_permission(struct inode *inode, int mask); | ||
54 | 54 | ||
55 | int reiserfs_xattr_get(struct inode *, const char *, void *, size_t); | 55 | int reiserfs_xattr_get(struct inode *, const char *, void *, size_t); |
56 | int reiserfs_xattr_set(struct inode *, const char *, const void *, size_t, int); | 56 | int reiserfs_xattr_set(struct inode *, const char *, const void *, size_t, int); |
@@ -117,8 +117,6 @@ static inline void reiserfs_init_xattr_rwsem(struct inode *inode) | |||
117 | #define reiserfs_listxattr NULL | 117 | #define reiserfs_listxattr NULL |
118 | #define reiserfs_removexattr NULL | 118 | #define reiserfs_removexattr NULL |
119 | 119 | ||
120 | #define reiserfs_permission NULL | ||
121 | |||
122 | static inline void reiserfs_init_xattr_rwsem(struct inode *inode) | 120 | static inline void reiserfs_init_xattr_rwsem(struct inode *inode) |
123 | { | 121 | { |
124 | } | 122 | } |
diff --git a/kernel/futex.c b/kernel/futex.c index eef8cd26b5e5..d546b2d53a62 100644 --- a/kernel/futex.c +++ b/kernel/futex.c | |||
@@ -193,6 +193,7 @@ static void drop_futex_key_refs(union futex_key *key) | |||
193 | * @uaddr: virtual address of the futex | 193 | * @uaddr: virtual address of the futex |
194 | * @fshared: 0 for a PROCESS_PRIVATE futex, 1 for PROCESS_SHARED | 194 | * @fshared: 0 for a PROCESS_PRIVATE futex, 1 for PROCESS_SHARED |
195 | * @key: address where result is stored. | 195 | * @key: address where result is stored. |
196 | * @rw: mapping needs to be read/write (values: VERIFY_READ, VERIFY_WRITE) | ||
196 | * | 197 | * |
197 | * Returns a negative error code or 0 | 198 | * Returns a negative error code or 0 |
198 | * The key words are stored in *key on success. | 199 | * The key words are stored in *key on success. |
@@ -203,7 +204,8 @@ static void drop_futex_key_refs(union futex_key *key) | |||
203 | * | 204 | * |
204 | * lock_page() might sleep, the caller should not hold a spinlock. | 205 | * lock_page() might sleep, the caller should not hold a spinlock. |
205 | */ | 206 | */ |
206 | static int get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key) | 207 | static int |
208 | get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key, int rw) | ||
207 | { | 209 | { |
208 | unsigned long address = (unsigned long)uaddr; | 210 | unsigned long address = (unsigned long)uaddr; |
209 | struct mm_struct *mm = current->mm; | 211 | struct mm_struct *mm = current->mm; |
@@ -226,7 +228,7 @@ static int get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key) | |||
226 | * but access_ok() should be faster than find_vma() | 228 | * but access_ok() should be faster than find_vma() |
227 | */ | 229 | */ |
228 | if (!fshared) { | 230 | if (!fshared) { |
229 | if (unlikely(!access_ok(VERIFY_WRITE, uaddr, sizeof(u32)))) | 231 | if (unlikely(!access_ok(rw, uaddr, sizeof(u32)))) |
230 | return -EFAULT; | 232 | return -EFAULT; |
231 | key->private.mm = mm; | 233 | key->private.mm = mm; |
232 | key->private.address = address; | 234 | key->private.address = address; |
@@ -235,7 +237,7 @@ static int get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key) | |||
235 | } | 237 | } |
236 | 238 | ||
237 | again: | 239 | again: |
238 | err = get_user_pages_fast(address, 1, 0, &page); | 240 | err = get_user_pages_fast(address, 1, rw == VERIFY_WRITE, &page); |
239 | if (err < 0) | 241 | if (err < 0) |
240 | return err; | 242 | return err; |
241 | 243 | ||
@@ -677,7 +679,7 @@ static int futex_wake(u32 __user *uaddr, int fshared, int nr_wake, u32 bitset) | |||
677 | if (!bitset) | 679 | if (!bitset) |
678 | return -EINVAL; | 680 | return -EINVAL; |
679 | 681 | ||
680 | ret = get_futex_key(uaddr, fshared, &key); | 682 | ret = get_futex_key(uaddr, fshared, &key, VERIFY_READ); |
681 | if (unlikely(ret != 0)) | 683 | if (unlikely(ret != 0)) |
682 | goto out; | 684 | goto out; |
683 | 685 | ||
@@ -723,10 +725,10 @@ futex_wake_op(u32 __user *uaddr1, int fshared, u32 __user *uaddr2, | |||
723 | int ret, op_ret; | 725 | int ret, op_ret; |
724 | 726 | ||
725 | retry: | 727 | retry: |
726 | ret = get_futex_key(uaddr1, fshared, &key1); | 728 | ret = get_futex_key(uaddr1, fshared, &key1, VERIFY_READ); |
727 | if (unlikely(ret != 0)) | 729 | if (unlikely(ret != 0)) |
728 | goto out; | 730 | goto out; |
729 | ret = get_futex_key(uaddr2, fshared, &key2); | 731 | ret = get_futex_key(uaddr2, fshared, &key2, VERIFY_WRITE); |
730 | if (unlikely(ret != 0)) | 732 | if (unlikely(ret != 0)) |
731 | goto out_put_key1; | 733 | goto out_put_key1; |
732 | 734 | ||
@@ -814,10 +816,10 @@ static int futex_requeue(u32 __user *uaddr1, int fshared, u32 __user *uaddr2, | |||
814 | int ret, drop_count = 0; | 816 | int ret, drop_count = 0; |
815 | 817 | ||
816 | retry: | 818 | retry: |
817 | ret = get_futex_key(uaddr1, fshared, &key1); | 819 | ret = get_futex_key(uaddr1, fshared, &key1, VERIFY_READ); |
818 | if (unlikely(ret != 0)) | 820 | if (unlikely(ret != 0)) |
819 | goto out; | 821 | goto out; |
820 | ret = get_futex_key(uaddr2, fshared, &key2); | 822 | ret = get_futex_key(uaddr2, fshared, &key2, VERIFY_READ); |
821 | if (unlikely(ret != 0)) | 823 | if (unlikely(ret != 0)) |
822 | goto out_put_key1; | 824 | goto out_put_key1; |
823 | 825 | ||
@@ -1140,7 +1142,7 @@ static int futex_wait(u32 __user *uaddr, int fshared, | |||
1140 | q.bitset = bitset; | 1142 | q.bitset = bitset; |
1141 | retry: | 1143 | retry: |
1142 | q.key = FUTEX_KEY_INIT; | 1144 | q.key = FUTEX_KEY_INIT; |
1143 | ret = get_futex_key(uaddr, fshared, &q.key); | 1145 | ret = get_futex_key(uaddr, fshared, &q.key, VERIFY_READ); |
1144 | if (unlikely(ret != 0)) | 1146 | if (unlikely(ret != 0)) |
1145 | goto out; | 1147 | goto out; |
1146 | 1148 | ||
@@ -1330,7 +1332,7 @@ static int futex_lock_pi(u32 __user *uaddr, int fshared, | |||
1330 | q.pi_state = NULL; | 1332 | q.pi_state = NULL; |
1331 | retry: | 1333 | retry: |
1332 | q.key = FUTEX_KEY_INIT; | 1334 | q.key = FUTEX_KEY_INIT; |
1333 | ret = get_futex_key(uaddr, fshared, &q.key); | 1335 | ret = get_futex_key(uaddr, fshared, &q.key, VERIFY_WRITE); |
1334 | if (unlikely(ret != 0)) | 1336 | if (unlikely(ret != 0)) |
1335 | goto out; | 1337 | goto out; |
1336 | 1338 | ||
@@ -1594,7 +1596,7 @@ retry: | |||
1594 | if ((uval & FUTEX_TID_MASK) != task_pid_vnr(current)) | 1596 | if ((uval & FUTEX_TID_MASK) != task_pid_vnr(current)) |
1595 | return -EPERM; | 1597 | return -EPERM; |
1596 | 1598 | ||
1597 | ret = get_futex_key(uaddr, fshared, &key); | 1599 | ret = get_futex_key(uaddr, fshared, &key, VERIFY_WRITE); |
1598 | if (unlikely(ret != 0)) | 1600 | if (unlikely(ret != 0)) |
1599 | goto out; | 1601 | goto out; |
1600 | 1602 | ||
diff --git a/kernel/lockdep_internals.h b/kernel/lockdep_internals.h index a2cc7e9a6e84..699a2ac3a0d7 100644 --- a/kernel/lockdep_internals.h +++ b/kernel/lockdep_internals.h | |||
@@ -54,9 +54,9 @@ enum { | |||
54 | * table (if it's not there yet), and we check it for lock order | 54 | * table (if it's not there yet), and we check it for lock order |
55 | * conflicts and deadlocks. | 55 | * conflicts and deadlocks. |
56 | */ | 56 | */ |
57 | #define MAX_LOCKDEP_ENTRIES 8192UL | 57 | #define MAX_LOCKDEP_ENTRIES 16384UL |
58 | 58 | ||
59 | #define MAX_LOCKDEP_CHAINS_BITS 14 | 59 | #define MAX_LOCKDEP_CHAINS_BITS 15 |
60 | #define MAX_LOCKDEP_CHAINS (1UL << MAX_LOCKDEP_CHAINS_BITS) | 60 | #define MAX_LOCKDEP_CHAINS (1UL << MAX_LOCKDEP_CHAINS_BITS) |
61 | 61 | ||
62 | #define MAX_LOCKDEP_CHAIN_HLOCKS (MAX_LOCKDEP_CHAINS*5) | 62 | #define MAX_LOCKDEP_CHAIN_HLOCKS (MAX_LOCKDEP_CHAINS*5) |
diff --git a/kernel/power/disk.c b/kernel/power/disk.c index e71ca9cd81b2..b0dc9e7a0d17 100644 --- a/kernel/power/disk.c +++ b/kernel/power/disk.c | |||
@@ -241,9 +241,9 @@ static int create_image(int platform_mode) | |||
241 | 241 | ||
242 | local_irq_disable(); | 242 | local_irq_disable(); |
243 | 243 | ||
244 | sysdev_suspend(PMSG_FREEZE); | 244 | error = sysdev_suspend(PMSG_FREEZE); |
245 | if (error) { | 245 | if (error) { |
246 | printk(KERN_ERR "PM: Some devices failed to power down, " | 246 | printk(KERN_ERR "PM: Some system devices failed to power down, " |
247 | "aborting hibernation\n"); | 247 | "aborting hibernation\n"); |
248 | goto Enable_irqs; | 248 | goto Enable_irqs; |
249 | } | 249 | } |
diff --git a/kernel/sched_clock.c b/kernel/sched_clock.c index 819f17ac796e..e1d16c9a7680 100644 --- a/kernel/sched_clock.c +++ b/kernel/sched_clock.c | |||
@@ -38,7 +38,8 @@ | |||
38 | */ | 38 | */ |
39 | unsigned long long __attribute__((weak)) sched_clock(void) | 39 | unsigned long long __attribute__((weak)) sched_clock(void) |
40 | { | 40 | { |
41 | return (unsigned long long)jiffies * (NSEC_PER_SEC / HZ); | 41 | return (unsigned long long)(jiffies - INITIAL_JIFFIES) |
42 | * (NSEC_PER_SEC / HZ); | ||
42 | } | 43 | } |
43 | 44 | ||
44 | static __read_mostly int sched_clock_running; | 45 | static __read_mostly int sched_clock_running; |
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index a884c09006c4..cda81ec58d9f 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -2380,7 +2380,7 @@ static const char readme_msg[] = | |||
2380 | "# echo print-parent > /debug/tracing/trace_options\n" | 2380 | "# echo print-parent > /debug/tracing/trace_options\n" |
2381 | "# echo 1 > /debug/tracing/tracing_enabled\n" | 2381 | "# echo 1 > /debug/tracing/tracing_enabled\n" |
2382 | "# cat /debug/tracing/trace > /tmp/trace.txt\n" | 2382 | "# cat /debug/tracing/trace > /tmp/trace.txt\n" |
2383 | "echo 0 > /debug/tracing/tracing_enabled\n" | 2383 | "# echo 0 > /debug/tracing/tracing_enabled\n" |
2384 | ; | 2384 | ; |
2385 | 2385 | ||
2386 | static ssize_t | 2386 | static ssize_t |
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 30351f0063ac..bb553c3e955d 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -94,12 +94,12 @@ unsigned long vm_dirty_bytes; | |||
94 | /* | 94 | /* |
95 | * The interval between `kupdate'-style writebacks | 95 | * The interval between `kupdate'-style writebacks |
96 | */ | 96 | */ |
97 | unsigned int dirty_writeback_interval = 5 * 100; /* sentiseconds */ | 97 | unsigned int dirty_writeback_interval = 5 * 100; /* centiseconds */ |
98 | 98 | ||
99 | /* | 99 | /* |
100 | * The longest time for which data is allowed to remain dirty | 100 | * The longest time for which data is allowed to remain dirty |
101 | */ | 101 | */ |
102 | unsigned int dirty_expire_interval = 30 * 100; /* sentiseconds */ | 102 | unsigned int dirty_expire_interval = 30 * 100; /* centiseconds */ |
103 | 103 | ||
104 | /* | 104 | /* |
105 | * Flag that makes the machine dump writes/reads and block dirtyings. | 105 | * Flag that makes the machine dump writes/reads and block dirtyings. |
@@ -770,7 +770,7 @@ static void wb_kupdate(unsigned long arg) | |||
770 | 770 | ||
771 | sync_supers(); | 771 | sync_supers(); |
772 | 772 | ||
773 | oldest_jif = jiffies - msecs_to_jiffies(dirty_expire_interval); | 773 | oldest_jif = jiffies - msecs_to_jiffies(dirty_expire_interval * 10); |
774 | start_jif = jiffies; | 774 | start_jif = jiffies; |
775 | next_jif = start_jif + msecs_to_jiffies(dirty_writeback_interval * 10); | 775 | next_jif = start_jif + msecs_to_jiffies(dirty_writeback_interval * 10); |
776 | nr_to_write = global_page_state(NR_FILE_DIRTY) + | 776 | nr_to_write = global_page_state(NR_FILE_DIRTY) + |
@@ -60,6 +60,7 @@ | |||
60 | #include <linux/kernel.h> | 60 | #include <linux/kernel.h> |
61 | #include <linux/slab.h> | 61 | #include <linux/slab.h> |
62 | #include <linux/mm.h> | 62 | #include <linux/mm.h> |
63 | #include <linux/swap.h> /* struct reclaim_state */ | ||
63 | #include <linux/cache.h> | 64 | #include <linux/cache.h> |
64 | #include <linux/init.h> | 65 | #include <linux/init.h> |
65 | #include <linux/module.h> | 66 | #include <linux/module.h> |
@@ -255,6 +256,8 @@ static void *slob_new_pages(gfp_t gfp, int order, int node) | |||
255 | 256 | ||
256 | static void slob_free_pages(void *b, int order) | 257 | static void slob_free_pages(void *b, int order) |
257 | { | 258 | { |
259 | if (current->reclaim_state) | ||
260 | current->reclaim_state->reclaimed_slab += 1 << order; | ||
258 | free_pages((unsigned long)b, order); | 261 | free_pages((unsigned long)b, order); |
259 | } | 262 | } |
260 | 263 | ||
@@ -407,7 +410,7 @@ static void slob_free(void *block, int size) | |||
407 | spin_unlock_irqrestore(&slob_lock, flags); | 410 | spin_unlock_irqrestore(&slob_lock, flags); |
408 | clear_slob_page(sp); | 411 | clear_slob_page(sp); |
409 | free_slob_page(sp); | 412 | free_slob_page(sp); |
410 | free_page((unsigned long)b); | 413 | slob_free_pages(b, 0); |
411 | return; | 414 | return; |
412 | } | 415 | } |
413 | 416 | ||
@@ -9,6 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/swap.h> /* struct reclaim_state */ | ||
12 | #include <linux/module.h> | 13 | #include <linux/module.h> |
13 | #include <linux/bit_spinlock.h> | 14 | #include <linux/bit_spinlock.h> |
14 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
@@ -1170,6 +1171,8 @@ static void __free_slab(struct kmem_cache *s, struct page *page) | |||
1170 | 1171 | ||
1171 | __ClearPageSlab(page); | 1172 | __ClearPageSlab(page); |
1172 | reset_page_mapcount(page); | 1173 | reset_page_mapcount(page); |
1174 | if (current->reclaim_state) | ||
1175 | current->reclaim_state->reclaimed_slab += pages; | ||
1173 | __free_pages(page, order); | 1176 | __free_pages(page, order); |
1174 | } | 1177 | } |
1175 | 1178 | ||
@@ -1909,7 +1912,7 @@ static inline int calculate_order(int size) | |||
1909 | * Doh this slab cannot be placed using slub_max_order. | 1912 | * Doh this slab cannot be placed using slub_max_order. |
1910 | */ | 1913 | */ |
1911 | order = slab_order(size, 1, MAX_ORDER, 1); | 1914 | order = slab_order(size, 1, MAX_ORDER, 1); |
1912 | if (order <= MAX_ORDER) | 1915 | if (order < MAX_ORDER) |
1913 | return order; | 1916 | return order; |
1914 | return -ENOSYS; | 1917 | return -ENOSYS; |
1915 | } | 1918 | } |
@@ -2522,6 +2525,7 @@ __setup("slub_min_order=", setup_slub_min_order); | |||
2522 | static int __init setup_slub_max_order(char *str) | 2525 | static int __init setup_slub_max_order(char *str) |
2523 | { | 2526 | { |
2524 | get_option(&str, &slub_max_order); | 2527 | get_option(&str, &slub_max_order); |
2528 | slub_max_order = min(slub_max_order, MAX_ORDER - 1); | ||
2525 | 2529 | ||
2526 | return 1; | 2530 | return 1; |
2527 | } | 2531 | } |
diff --git a/scripts/setlocalversion b/scripts/setlocalversion index 32c8554f3946..00790472f641 100755 --- a/scripts/setlocalversion +++ b/scripts/setlocalversion | |||
@@ -1,5 +1,13 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | # Print additional version information for non-release trees. | 2 | # |
3 | # This scripts adds local version information from the version | ||
4 | # control systems git, mercurial (hg) and subversion (svn). | ||
5 | # | ||
6 | # If something goes wrong, send a mail the kernel build mailinglist | ||
7 | # (see MAINTAINERS) and CC Nico Schottelius | ||
8 | # <nico-linuxsetlocalversion -at- schottelius.org>. | ||
9 | # | ||
10 | # | ||
3 | 11 | ||
4 | usage() { | 12 | usage() { |
5 | echo "Usage: $0 [srctree]" >&2 | 13 | echo "Usage: $0 [srctree]" >&2 |
@@ -10,12 +18,20 @@ cd "${1:-.}" || usage | |||
10 | 18 | ||
11 | # Check for git and a git repo. | 19 | # Check for git and a git repo. |
12 | if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then | 20 | if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then |
13 | # Do we have an untagged tag? | 21 | |
14 | if atag=`git describe 2>/dev/null`; then | 22 | # If we are at a tagged commit (like "v2.6.30-rc6"), we ignore it, |
15 | echo "$atag" | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' | 23 | # because this version is defined in the top level Makefile. |
16 | # add -g${head}, if there is no usable tag | 24 | if [ -z "`git describe --exact-match 2>/dev/null`" ]; then |
17 | else | 25 | |
18 | printf '%s%s' -g $head | 26 | # If we are past a tagged commit (like "v2.6.30-rc5-302-g72357d5"), |
27 | # we pretty print it. | ||
28 | if atag="`git describe 2>/dev/null`"; then | ||
29 | echo "$atag" | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' | ||
30 | |||
31 | # If we don't have a tag at all we print -g{commitish}. | ||
32 | else | ||
33 | printf '%s%s' -g $head | ||
34 | fi | ||
19 | fi | 35 | fi |
20 | 36 | ||
21 | # Is this git on svn? | 37 | # Is this git on svn? |