On Tue 11-09-18 23:01:57, Tetsuo Handa wrote: > On 2018/09/10 21:55, Michal Hocko wrote: > > This is a very coarse implementation of the idea I've had before. > > Please note that I haven't tested it yet. It is mostly to show the > > direction I would wish to go for. > > Hmm, this patchset does not allow me to boot. ;-) > > free_pgd_range(&tlb, vma->vm_start, vma->vm_prev->vm_end, > FIRST_USER_ADDRESS, USER_PGTABLES_CEILING); > > [ 1.875675] sched_clock: Marking stable (1810466565, 65169393)->(1977240380, -101604422) > [ 1.877833] registered taskstats version 1 > [ 1.877853] Loading compiled-in X.509 certificates > [ 1.878835] zswap: loaded using pool lzo/zbud > [ 1.880835] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008 This is vm_prev == NULL. I thought we always have vm_prev as long as this is not a single VMA in the address space. I will double check this. -- Michal Hocko SUSE Labs