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 >> > > > . > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>