C 任意进程的物理页码
我有进程C 任意进程的物理页码,c,memory-management,linux-kernel,C,Memory Management,Linux Kernel,我有进程I,我想知道该进程在内存z中是否有物理页 如果我有一个给定的地址,我知道怎么做;但是,由于这些都需要某种虚拟地址 我从z->zone_start_pfn中知道z的起始页,从zone_end_pfn(z)中知道它的结束页,阅读似乎表明反向映射不可用 那么,确定进程i在区域z中是否有PPN的简单方法是什么呢 我想在内核空间中做这件事,如果这能让事情变得更简单的话。您可以通过使用从用户空间非常轻松地做这件事。不过您可以尝试使用物理地址。有两个宏:u_pa()和u va(),它们将进程的虚拟地址
I
,我想知道该进程在内存z
中是否有物理页
如果我有一个给定的地址,我知道怎么做;但是,由于这些都需要某种虚拟地址
我从z->zone_start_pfn
中知道z
的起始页,从zone_end_pfn(z)
中知道它的结束页,阅读似乎表明反向映射不可用
那么,确定进程i
在区域z
中是否有PPN的简单方法是什么呢
我想在内核空间中做这件事,如果这能让事情变得更简单的话。您可以通过使用从用户空间非常轻松地做这件事。不过您可以尝试使用物理地址。有两个宏:u_pa()和u va(),它们将进程的虚拟地址转换为物理地址并返回。这可能是解决问题的第一步。不幸的是,这是为了用户空间,而不是内核空间。