i40e_remove_pd_page(9)
π i40e_remove_pd_page(9) β Kernel API Manual π
okay bestie, gather round, because we're diving into i40e_remove_pd_page(9) and honestly? it's giving "small function, big responsibilities." no cap. it lives in the Kernel API Manual, which is like the group chat of the kernel β everybody's in there. let's go β¨
πΈ NAME πΈ
i40e_remove_pd_page β literally just removes a page from the page descriptor table. that's the whole vibe. π¦
β¨ SYNOPSIS β¨
int i40e_remove_pd_page (struct i40e_hw *hw , struct i40e_hmc_info
*hmc_info , u32 idx );
yes she returns an int, yes she takes three args, and yes you will read them all carefully. π₯
π«Ά ARGUMENTS π«Ά
hwβ pointer to the HW structure. like, the hardware itself. main character energy. πhmc_infoβ pointer to the HMC configuration information structure. the config bestie. πidxβ the segment descriptor index, which you use to find the relevant page descriptor. it's basically the little map pin that says "the page you want is right here." π
π DESCRIPTION π
so this function does three things, in order, no skipping:
- Marks the entry in the pd table (for paged address mode) invalid π«
- writes to register
PMPDINVto invalidate the backing page in FV cache π§Ή - Decrements the ref count for
pd_entryπ»
and then there's the assumptions section, which is short but important:
- the caller can deallocate the memory used by
pdafter this function returns. so like, once she's done, the memory is yours to free. iykyk. π«Ά
bestie bestie bestie β read that assumption twice. the memory cleanup is on you, the caller. this function isn't doing it for you, she's just doing her three steps and dipping. π
π SEE ALSO π
Kernel file ./drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c β that's where the whole friend group hangs out:
i40e_align_l2obj_base(9)i40e_calculate_l2fpm_size(9)i40e_init_lan_hmc(9)i40e_remove_sd_bp(9)i40e_create_lan_hmc_object(9)i40e_configure_lan_hmc(9)i40e_delete_lan_hmc_object(9)i40e_shutdown_lan_hmc(9)i40e_write_byte(9)i40e_write_word(9)i40e_write_dword(9)i40e_write_qword(9)i40e_clear_hmc_context(9)i40e_set_hmc_context(9)i40e_hmc_get_object_va(9)i40e_clear_lan_tx_queue_context(9)i40e_set_lan_tx_queue_context(9)i40e_clear_lan_rx_queue_context(9)i40e_set_lan_rx_queue_context(9)
that's the whole squad, in the order they showed up. no notes. π₯
and that's the page, bestie π this little cutie came from ./drivers/net/ethernet/intel/i40e, dated October 2026, and you can find her filed right back under i40e_remove_pd_page(9) whenever you need her again. mwah π slay responsibly β
π¦ 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