Commit 5a836bf
mm: slub: move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context
flush_all() flushes a specific SLAB cache on each CPU (where the cache
is present). The deactivate_slab()/__free_slab() invocation happens
within IPI handler and is problematic for PREEMPT_RT.
The flush operation is not a frequent operation or a hot path. The
per-CPU flush operation can be moved to within a workqueue.
Because a workqueue handler, unlike IPI handler, does not disable irqs,
flush_slab() now has to disable them for working with the kmem_cache_cpu
fields. deactivate_slab() is safe to call with irqs enabled.
[[email protected]: adapt to new SLUB changes]
Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
Signed-off-by: Vlastimil Babka <[email protected]>1 parent 08beb54 commit 5a836bf
2 files changed
+80
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
502 | 502 | | |
503 | 503 | | |
504 | 504 | | |
| 505 | + | |
505 | 506 | | |
506 | 507 | | |
507 | 508 | | |
| |||
516 | 517 | | |
517 | 518 | | |
518 | 519 | | |
| 520 | + | |
519 | 521 | | |
520 | 522 | | |
521 | 523 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2496 | 2496 | | |
2497 | 2497 | | |
2498 | 2498 | | |
2499 | | - | |
2500 | | - | |
| 2499 | + | |
| 2500 | + | |
| 2501 | + | |
| 2502 | + | |
| 2503 | + | |
| 2504 | + | |
| 2505 | + | |
| 2506 | + | |
2501 | 2507 | | |
2502 | 2508 | | |
2503 | 2509 | | |
2504 | 2510 | | |
2505 | 2511 | | |
2506 | | - | |
| 2512 | + | |
2507 | 2513 | | |
2508 | | - | |
| 2514 | + | |
| 2515 | + | |
| 2516 | + | |
| 2517 | + | |
2509 | 2518 | | |
2510 | 2519 | | |
2511 | 2520 | | |
| |||
2526 | 2535 | | |
2527 | 2536 | | |
2528 | 2537 | | |
| 2538 | + | |
| 2539 | + | |
| 2540 | + | |
| 2541 | + | |
| 2542 | + | |
| 2543 | + | |
2529 | 2544 | | |
2530 | 2545 | | |
2531 | 2546 | | |
2532 | | - | |
| 2547 | + | |
2533 | 2548 | | |
2534 | | - | |
| 2549 | + | |
2535 | 2550 | | |
2536 | | - | |
2537 | | - | |
| 2551 | + | |
| 2552 | + | |
| 2553 | + | |
| 2554 | + | |
| 2555 | + | |
| 2556 | + | |
| 2557 | + | |
| 2558 | + | |
2538 | 2559 | | |
2539 | 2560 | | |
2540 | 2561 | | |
2541 | 2562 | | |
2542 | 2563 | | |
2543 | 2564 | | |
2544 | 2565 | | |
2545 | | - | |
| 2566 | + | |
2546 | 2567 | | |
2547 | | - | |
2548 | 2568 | | |
2549 | 2569 | | |
2550 | 2570 | | |
2551 | 2571 | | |
2552 | 2572 | | |
| 2573 | + | |
| 2574 | + | |
| 2575 | + | |
| 2576 | + | |
| 2577 | + | |
| 2578 | + | |
| 2579 | + | |
| 2580 | + | |
| 2581 | + | |
| 2582 | + | |
| 2583 | + | |
| 2584 | + | |
| 2585 | + | |
| 2586 | + | |
| 2587 | + | |
| 2588 | + | |
| 2589 | + | |
| 2590 | + | |
| 2591 | + | |
| 2592 | + | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
| 2596 | + | |
| 2597 | + | |
| 2598 | + | |
| 2599 | + | |
| 2600 | + | |
| 2601 | + | |
| 2602 | + | |
| 2603 | + | |
| 2604 | + | |
| 2605 | + | |
2553 | 2606 | | |
2554 | 2607 | | |
2555 | | - | |
| 2608 | + | |
| 2609 | + | |
| 2610 | + | |
2556 | 2611 | | |
2557 | 2612 | | |
2558 | 2613 | | |
| |||
4097 | 4152 | | |
4098 | 4153 | | |
4099 | 4154 | | |
4100 | | - | |
| 4155 | + | |
4101 | 4156 | | |
4102 | 4157 | | |
4103 | 4158 | | |
| |||
4373 | 4428 | | |
4374 | 4429 | | |
4375 | 4430 | | |
4376 | | - | |
| 4431 | + | |
4377 | 4432 | | |
4378 | 4433 | | |
4379 | 4434 | | |
| |||
4385 | 4440 | | |
4386 | 4441 | | |
4387 | 4442 | | |
4388 | | - | |
4389 | 4443 | | |
4390 | 4444 | | |
4391 | 4445 | | |
| |||
4435 | 4489 | | |
4436 | 4490 | | |
4437 | 4491 | | |
| 4492 | + | |
| 4493 | + | |
| 4494 | + | |
| 4495 | + | |
| 4496 | + | |
| 4497 | + | |
4438 | 4498 | | |
4439 | 4499 | | |
4440 | 4500 | | |
4441 | 4501 | | |
4442 | 4502 | | |
4443 | | - | |
4444 | | - | |
| 4503 | + | |
| 4504 | + | |
| 4505 | + | |
| 4506 | + | |
4445 | 4507 | | |
4446 | 4508 | | |
4447 | 4509 | | |
| |||
0 commit comments