Messages in this thread | | | Date | Fri, 27 Apr 2018 10:40:36 +0530 | From | vjitta@codeauro ... | Subject | Re: [PATCH] ion: Consider ion pool pages as indirectly reclaimable |
| |
On 2018-04-25 21:17, Laura Abbott wrote: > On 04/24/2018 08:43 PM, vjitta@codeaurora.org wrote: >> From: Vijayanand Jitta <vjitta@codeaurora.org> >> >> 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. >> >> Signed-off-by: Vijayanand Jitta <vjitta@codeaurora.org> >> --- >> drivers/staging/android/ion/ion_page_pool.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/staging/android/ion/ion_page_pool.c >> b/drivers/staging/android/ion/ion_page_pool.c >> index db8f614..9bc56eb 100644 >> --- a/drivers/staging/android/ion/ion_page_pool.c >> +++ b/drivers/staging/android/ion/ion_page_pool.c >> @@ -32,6 +32,9 @@ static void 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); >> } >> @@ -50,6 +53,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; >> } >> > > I'm sure this fixes the problem but I don't think we want to > start throwing page adjustments into Ion. Why isn't this > memory already considered reclaimable by existing calculations? > > Thanks, > Laura
You can refer to discussion here https://lkml.org/lkml/2018/3/5/361 introducing NR_INDIRECTLY_RECLAIMABLE_BYTES for the memory which is not currently considered as reclaimable
Thanks, Vijay
| |