[PATCH] ion: Consider ion pool pages as indirectly reclaimable
Laura Abbott
labbott at redhat.com
Fri Apr 27 21:30:59 UTC 2018
On 04/27/2018 02:29 AM, vjitta at codeaurora.org wrote:
> On 2018-04-27 10:40, vjitta at codeaurora.org wrote:
>> On 2018-04-25 21:17, Laura Abbott wrote:
>>> On 04/24/2018 08:43 PM, vjitta at codeaurora.org wrote:
>>>> From: Vijayanand Jitta <vjitta at 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 at 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
Thanks for pointing that thread out. I'm still a little wary since
Ion is in staging but if the rest of mm are okay with it
Acked-by: Laura Abbott <labbott at redhat.com>
Thanks,
Laura
More information about the devel
mailing list