Messages in this thread | | | Date | Wed, 17 Jan 2018 17:48:57 +0800 | From | Xishi Qiu <> | Subject | Re: [RFC] mm: why vfree() do not free page table memory? |
| |
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 >> > > > . >
| |