32位体系结构:
vmalloc分配内存时,pgd使用的是每个进程的pgd页表(task_struct->mm->pgd),所有在其他进程访问vmalloc分配的内存时会出现访问不到的情况,所以在do_page_fault里面会同步页表
arm64位体系结构:
vmalloc分配内存时,pgd直接使用的是进程的基地址,就不要同步到内核的pgd页表上了。
归根结底就是32位体系结构中只有一个基地址寄存器,而armv8中有两个基地址寄存器.
32位体系结构:
vmalloc分配内存时,pgd使用的是每个进程的pgd页表(task_struct->mm->pgd),所有在其他进程访问vmalloc分配的内存时会出现访问不到的情况,所以在do_page_fault里面会同步页表
arm64位体系结构:
vmalloc分配内存时,pgd直接使用的是进程的基地址,就不要同步到内核的pgd页表上了。
归根结底就是32位体系结构中只有一个基地址寄存器,而armv8中有两个基地址寄存器.