Memory management hugetlb.c中的struct hstate是什么?

Memory management hugetlb.c中的struct hstate是什么?,memory-management,linux-kernel,Memory Management,Linux Kernel,在hugetlb_init_hstates()中,它有以下内容: for_each_hstate(h) { if(h->order < MAX_ORDER) { hugetlb_hstate_alloc_pages(h); } } 对于每个状态(h){ 如果(h->订单

在hugetlb_init_hstates()中,它有以下内容:

for_each_hstate(h) { 
  if(h->order < MAX_ORDER) {
    hugetlb_hstate_alloc_pages(h);
  }
}
对于每个状态(h){
如果(h->订单<最大订单){
hugetlb_hstate_alloc_pages(h);
}
}

每个hstate是否意味着一个巨大的页面?

对于特定的单元大小和特定的NUMA节点,每个hstate都是一个巨大的页面池。每个hs状态由
sysfs
中的一个
/sys/devices/system/node/node/hugepages/hugepages-/
目录表示。在普通桌面上,通常只能找到一个2MB页面的全局hstate,另一个1GB页面的全局hstate,但并非所有体系结构都支持后者