vmballoon_s...efused_pages(9)
π vmballoon_s...efused_pages(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β yes the title got truncated in the header like an unsent text message, but the vibe is intact, promise. It's literally vmballoon_s...efused_pages(9), and we're about to get into it π«Ά
πΈ NAME πΈ
vmballoon_split_refused_pages β the one that splits the 2MB refused pages down to 4k π
no cap, that's the whole job.
β¨ SYNOPSIS β¨
void vmballoon_split_refused_pages (struct vmballoon_ctl *ctl );
that's it. that's the signature. copied exactly, character for character, because we do not play with code around here π
π¦ ARGUMENTS π¦
ctlβ a pointer to thestruct vmballoon_ctl, which is the thing that defines the operation π she's the main character, she holds the context, respect her.
π DESCRIPTION π
so here's the lore π₯ β if inflation of 2MB pages was denied by the hypervisor, it's likely because of one or a few 4KB pages. rude, honestly. π
and here's the annoying part: those 2MB pages may just keep being allocated and then keep getting refused, over and over, like you texting someone who's never gonna reply π to prevent that whole tragic cycle, this function splits the refused pages into 4KB pages and adds them into the prealloc_pages list π iconic behaviour, honestly. problem solved, periodt.
β SEE ALSO β
like, go read these next, bestie β iykyk π first up, the Kernel file ./drivers/misc/vmw_balloon.c, then:
enum vmballoon_cmd_type(9)struct vmballoon_batch_entry(9)vmballoon_send_guest_id(9)vmballoon_page_order(9)vmballoon_page_in_frames(9)vmballoon_mark_page_offline(9)vmballoon_mark_page_online(9)vmballoon_send_get_target(9)vmballoon_alloc_page_list(9)vmballoon_handle_one_result(9)vmballoon_status_page(9)vmballoon_lock_op(9)vmballoon_add_page(9)vmballoon_lock(9)vmballoon_release_page_list(9)vmballoon_change(9)vmballoon_enqueue_page_list(9)vmballoon_dequeue_page_list(9)vmballoon_inflate(9)vmballoon_deflate(9)vmballoon_deinit_batching(9)vmballoon_init_batching(9)vmballoon_vmci_init(9)vmballoon_pop(9)vmballoon_work(9)vmballoon_shrinker_scan(9)vmballoon_shrinker_count(9)vmballoon_debug_show(9)vmballoon_migratepage(9)
that's all 29 of them, not one skipped, because we don't do half-finished reading lists around here π
lowkey reminder: this lives in ./drivers/misc β that's the directory, bestie, don't go looking in the wrong folder π
and that's the page!! mwah π this little cutie comes to you from ./drivers/misc, dated October 2026, and it signs off as vmballoon_s...efused_pages(9) β same truncated queen energy as the header π§ββοΈπ bye bestie, go split some pages!
π¦ 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