Re: [RFC] mm: why vfree() do not free page table memory?
From: Xishi Qiu
Date: Wed Jan 17 2018 - 04:51:01 EST
On 2018/1/17 17:16, Vlastimil Babka wrote:
> On 12/29/2017 09:58 AM, Xishi Qiu wrote:
>> When calling vfree(), it calls unmap_vmap_area() to clear page table,
>> but do not free the memory of page table, why? just for performance?
>
> I guess it's expected that the free virtual range and associated page
> tables it might be reused later.
>
Hi Vlastimilï
If use vmalloc/vfree different size, then there will be some hols during
VMALLOC_START to VMALLOC_END, and this holes takes page table memory, right?
>> If a driver use vmalloc() and vfree() frequently, we will lost much
>> page table memory, maybe oom later.
>
> If it's reused, then not really.
>
> Did you notice an actual issue, or is this just theoretical concern.
>
Yes, we have this problem on our production line.
I find the page table memory takes 200-300M.
Thanks,
Xishi Qiu
>> Thanks,
>> Xishi Qiu
>>
>
>
> .
>