How to free a page table page

Wonkyo Choe heysid3 at
Tue Apr 6 02:30:24 EDT 2021

I really appreciate it! I really needed to know when exactly page
tables get freed.
As I looked at your functions, I ended up figuring out that my kernel (v5.3)
defines HAVE_RCU_TABLE_FREE (I assume this is the default option)
and uses __tlb_remove_table(), which frees pages. Finally, my functions
work on these functions.

Thanks again.

2021년 4월 6일 (화) 오전 11:42, Rik van Riel <riel at>님이 작성:
> On Tue, 2021-04-06 at 00:39 +0900, Wonkyo Choe wrote:
> > 1. In x86, are all page-table pages released at the end of
> > termination
> > by using free_pgtables()?
> > 2. In x86, a page-table page can be freed when there is no entry? In
> > other words, does the Linux kernel
> > release a page-table page on runtime? If so, what function would do
> > this kind of task?
> At munmap time, as well as exit and execve time, page
> tables can get freed. Look at the code between sys_munmap()
> and zap_page_range().
> --
> All Rights Reversed.

최원교 / Wonkyo Choe
Phone. +82 10-5755-4519

More information about the Kernelnewbies mailing list