diff options
Diffstat (limited to 'mm/util.c')
-rw-r--r-- | mm/util.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -668,6 +668,13 @@ int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin) | |||
668 | free += global_node_page_state(NR_SLAB_RECLAIMABLE); | 668 | free += global_node_page_state(NR_SLAB_RECLAIMABLE); |
669 | 669 | ||
670 | /* | 670 | /* |
671 | * Part of the kernel memory, which can be released | ||
672 | * under memory pressure. | ||
673 | */ | ||
674 | free += global_node_page_state( | ||
675 | NR_INDIRECTLY_RECLAIMABLE_BYTES) >> PAGE_SHIFT; | ||
676 | |||
677 | /* | ||
671 | * Leave reserved pages. The pages are not for anonymous pages. | 678 | * Leave reserved pages. The pages are not for anonymous pages. |
672 | */ | 679 | */ |
673 | if (free <= totalreserve_pages) | 680 | if (free <= totalreserve_pages) |