i40e_remove_sd_bp(9)
π i40e_remove_sd_bp β bestie, we're un-backing a page
okay so this is a page from the Kernel API Manual (section 9, the driver-internals zone, iykyk), and honestly? It's a little cleanup queen. Her whole job is removing a backing page from a segment descriptor, and she does it with main character energy. Slay.
β¨ NAME β¨
i40e_remove_sd_bp β remove a backing page from a segment descriptor π
πΈ SYNOPSIS πΈ
int i40e_remove_sd_bp (struct i40e_hw *hw , struct i40e_hmc_info
*hmc_info , u32 idx );
like, that's the whole vibe. three args, one int back at you. periodt.
π¦ ARGUMENTS π¦
hwβ pointer to our HW structure π literally the hardware bestie herselfhmc_infoβ pointer to the HMC configuration information structure β¨ all the config lore lives hereidxβ the page index π₯ which page we're saying bye to
π DESCRIPTION π
okay so here's what this function actually does, step by step, no cap:
- Marks the entry in sd table (for direct address mode) invalid π yeah she just flags it as not-valid anymore
- write to register
PMSDCMD,PMSDDATALOW(PMSDDATALOW.PMSDVALIDset to0)andPMSDDATAHIGHto invalidate the sd page β¨ register poking time, that's how the sd page gets told it's over - Decrement the ref count for the sd_entry π«Ά gotta keep those counts honest
assumptions (the fine print, read it bestie):
- caller can deallocate the memory used by backing storage after this function returns π so like, once she's done, the memory's yours to free β she ain't touching it after
fr fr, that last one matters: don't go freeing anything before this returns, or it's giving undefined behaviour energy and nobody wants that π
π SEE ALSO π
Kernel file ./drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c β that's where the source lives, go look, it's iconic:
i40e_align_l2obj_base(9), i40e_calculate_l2fpm_size(9), i40e_init_lan_hmc(9), i40e_remove_pd_page(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)
like, the whole friend group. go read all of them, obsessed π
π kiss kiss, that's the page! brought to you by ./drivers/net/ethernet/intel/i40e, dated October 2026, and yes she's i40e_remove_sd_bp(9) β write it down bestie πβ¨
π¦ 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