Commit 6fefdfd
mm: vmscan: do not throttle based on pfmemalloc reserves if node has no ZONE_NORMAL
throttle_direct_reclaim() is meant to trigger during swap-over-network
during which the min watermark is treated as a pfmemalloc reserve. It
throttes on the first node in the zonelist but this is flawed.
The user-visible impact is that a process running on CPU whose local
memory node has no ZONE_NORMAL will stall for prolonged periods of time,
possibly indefintely. This is due to throttle_direct_reclaim thinking the
pfmemalloc reserves are depleted when in fact they don't exist on that
node.
On a NUMA machine running a 32-bit kernel (I know) allocation requests
from CPUs on node 1 would detect no pfmemalloc reserves and the process
gets throttled. This patch adjusts throttling of direct reclaim to
throttle based on the first node in the zonelist that has a usable
ZONE_NORMAL or lower zone.
Signed-off-by: Mel Gorman <mgorman@suse.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>1 parent 33595dd commit 6fefdfd
1 file changed
+27
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2540 | 2540 | | |
2541 | 2541 | | |
2542 | 2542 | | |
| 2543 | + | |
| 2544 | + | |
| 2545 | + | |
2543 | 2546 | | |
2544 | 2547 | | |
2545 | 2548 | | |
2546 | 2549 | | |
| 2550 | + | |
| 2551 | + | |
| 2552 | + | |
| 2553 | + | |
2547 | 2554 | | |
2548 | 2555 | | |
2549 | 2556 | | |
| |||
2568 | 2575 | | |
2569 | 2576 | | |
2570 | 2577 | | |
| 2578 | + | |
2571 | 2579 | | |
2572 | | - | |
2573 | | - | |
| 2580 | + | |
2574 | 2581 | | |
2575 | 2582 | | |
2576 | 2583 | | |
| |||
2589 | 2596 | | |
2590 | 2597 | | |
2591 | 2598 | | |
2592 | | - | |
2593 | | - | |
2594 | | - | |
2595 | | - | |
| 2599 | + | |
| 2600 | + | |
| 2601 | + | |
| 2602 | + | |
| 2603 | + | |
| 2604 | + | |
| 2605 | + | |
| 2606 | + | |
| 2607 | + | |
| 2608 | + | |
| 2609 | + | |
| 2610 | + | |
| 2611 | + | |
| 2612 | + | |
| 2613 | + | |
| 2614 | + | |
| 2615 | + | |
| 2616 | + | |
2596 | 2617 | | |
2597 | 2618 | | |
2598 | 2619 | | |
| |||
0 commit comments