Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43291425 authored by Vijayanand Jitta's avatar Vijayanand Jitta
Browse files

ion: Consider ion pool pages as indirectly reclaimable



An issue is observed where mallocs are failing due to overcommit failure.
The failure happens when there is high ION page pool since ION page
pool is not considered reclaimable by the overcommit calculation code.
This change considers ion pool pages as indirectly reclaimable and thus
accounted as available memory in the overcommit calculation.

Change-Id: I8d63209b8c19286e55c407459ff124fdc58fdcc2
Signed-off-by: default avatarVijayanand Jitta <vjitta@codeaurora.org>
parent b577dc95
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
 * drivers/staging/android/ion/ion_page_pool.c
 *
 * Copyright (C) 2011 Google, Inc.
 * Copyright (c) 2016, The Linux Foundation. All rights reserved.
 * Copyright (c) 2016, 2018 The Linux Foundation. All rights reserved.
 *
 * This software is licensed under the terms of the GNU General Public
 * License version 2, as published by the Free Software Foundation, and
@@ -65,6 +65,9 @@ static int ion_page_pool_add(struct ion_page_pool *pool, struct page *page)
		list_add_tail(&page->lru, &pool->low_items);
		pool->low_count++;
	}

	mod_node_page_state(page_pgdat(page), NR_INDIRECTLY_RECLAIMABLE_BYTES,
			    (1 << (PAGE_SHIFT + pool->order)));
	mutex_unlock(&pool->mutex);
	return 0;
}
@@ -84,6 +87,8 @@ static struct page *ion_page_pool_remove(struct ion_page_pool *pool, bool high)
	}

	list_del(&page->lru);
	mod_node_page_state(page_pgdat(page), NR_INDIRECTLY_RECLAIMABLE_BYTES,
			    -(1 << (PAGE_SHIFT + pool->order)));
	return page;
}