Messages in this thread | | | Date | Fri, 27 Apr 2018 14:59:31 +0530 | From | vjitta@codeauro ... | Subject | Re: [PATCH] ion: Consider ion pool pages as indirectly reclaimable |
| |
On 2018-04-27 10:40, vjitta@codeaurora.org wrote: > 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
There was also discussion specific to ion in that thread you can find it here https://lkml.org/lkml/2018/4/25/642
Thanks, Vijay
| |