remove libdss from Makefile
[GitHub/moto-9609/android_kernel_motorola_exynos9610.git] / mm / util.c
index 34e57fae959decc1edf0805ca5bf40b1ef40d8de..842ba5fb662e0d27789b2d0c61a81c1123884488 100644 (file)
--- a/mm/util.c
+++ b/mm/util.c
@@ -449,7 +449,7 @@ bool page_mapped(struct page *page)
                return true;
        if (PageHuge(page))
                return false;
-       for (i = 0; i < hpage_nr_pages(page); i++) {
+       for (i = 0; i < (1 << compound_order(page)); i++) {
                if (atomic_read(&page[i]._mapcount) >= 0)
                        return true;
        }
@@ -635,6 +635,13 @@ int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin)
                 */
                free += global_node_page_state(NR_SLAB_RECLAIMABLE);
 
+               /*
+                * Part of the kernel memory, which can be released
+                * under memory pressure.
+                */
+               free += global_node_page_state(
+                       NR_INDIRECTLY_RECLAIMABLE_BYTES) >> PAGE_SHIFT;
+
                /*
                 * Leave reserved pages. The pages are not for anonymous pages.
                 */