Messages in this thread | | | Subject | Re: [PATCH] ion: Consider ion pool pages as indirectly reclaimable | From | Laura Abbott <> | Date | Wed, 25 Apr 2018 08:47:34 -0700 |
| |
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
| |