STRUCT NE_CPU_POOL(9)
okay bestie, this is struct ne_cpu_pool(9) from the Kernel API Manual β the page for the CPU pool used for Nitro Enclaves. it's giving kernel bookkeeping but make it cute, and we're covering every single field and ref, no cap. π
β¨
πΈ NAME πΈ
struct ne_cpu_pool β CPU pool used for Nitro Enclaves.
β¨ SYNOPSIS β¨
struct ne_cpu_pool {
cpumask_var_t *avail_threads_per_core;
struct mutex mutex;
unsigned int nr_parent_vm_cores;
unsigned int nr_threads_per_core;
int numa_node;
};
π Members π
avail_threads_per_coreβ the available full CPU cores to be dedicated to enclave(s). the cpumasks from the array, indexed by core id, contain all the threads from the available cores, that are not set for created enclave(s). the full CPU cores are part of the NE CPU pool. lowkey iconic structure energy π₯mutexβ the mutex for the access to the NE CPU pool. it's the vibe check at the door πnr_parent_vm_coresβ the size of the available threads per core array. also: the total number of CPU cores available on the primary / parent VM. periodt.nr_threads_per_coreβ the number of threads that a full CPU core has. yes bestie, we're counting π§numa_nodeβ the NUMA node of the CPUs in the pool. it's giving locality π
π¦ SEE ALSO π¦
okay these linked faves are all here, don't skip them:
- Kernel file
./drivers/virt/nitro_enclaves/ne_misc_dev.cβ Enclave lifetime management driver for Nitro Enclaves (NE).(9) NE_CPUS_SIZE(9)NE_EIF_LOAD_OFFSET(9)NE_MIN_ENCLAVE_MEM_SIZE(9)NE_MIN_MEM_REGION_SIZE(9)NE_PARENT_VM_CID(9)struct ne_phys_contig_mem_regions(9)ne_check_enclaves_created(9)ne_setup_cpu_pool(9)ne_teardown_cpu_pool(9)ne_set_kernel_param(9)ne_donated_cpu(9)ne_get_unused_core_from_cpu_pool(9)ne_set_enclave_threads_per_core(9)ne_get_cpu_from_cpu_pool(9)ne_get_vcpu_core_from_cpu_pool(9)ne_check_cpu_in_cpu_pool(9)ne_add_vcpu_ioctl(9)ne_sanity_check_user_mem_region(9)ne_sanity_check_user_mem_region_page(9)ne_sanity_check_phys_mem_region(9)ne_merge_phys_contig_memory_regions(9)ne_set_user_memory_region_ioctl(9)ne_start_enclave_ioctl(9)ne_enclave_ioctl(9)ne_enclave_remove_all_mem_region_entries(9)ne_enclave_remove_all_vcpu_id_entries(9)ne_pci_dev_remove_enclave_entry(9)ne_enclave_release(9)ne_enclave_poll(9)ne_create_vm_ioctl(9)ne_ioctl(9)
mwah π this page's source/version is ./drivers/virt/nitro_enclaves, the date is October 2026, and the page title is struct ne_cpu_pool(9). byeee bestie, go read those refs π«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms