vmballoon_migratepage(9)
β¨ vmballoon_migratepage π (it's a section 9 Kernel API Manual girlie)
okay so bestie, gather round, because this one is literally the balloon driver's little relocation specialist π and she has one job: moving a balloon page from point A to point B without anyone noticing. no cap.
πΈ NAME πΈ
vmballoon_migratepage β migrates a balloon page. that's it, that's the whole vibe.
π¦ SYNOPSIS π¦
int vmballoon_migratepage (struct balloon_dev_info *b_dev_info , struct
page *newpage , struct page *page , enum migrate_mode mode );
like, look at her. four arguments, one int return, main character energy fr fr.
π ARGUMENTS π
b_dev_infoβ the balloon device information descriptor. it's giving "the paperwork that tells us whose balloon we're messing with" πnewpageβ the page to whichpageshould be migrated. so like, the destination. the new apartment. the glow-up location π‘pageβ a ballooned page that should be migrated. the one actually packing its bags βοΈmodeβ migration mode, ignored. yeah she literally does not care. mode is there but she's not reading it π (no thoughts, head empty, key ignored)
π RETURN π
okay this part matters, pay attention bestie π
zeroon success β slay, migrated, we love to see it β¨-EAGAINwhen migration cannot be performed momentarily β like "not right now babe, try again in a sec" π-EBUSYif migration failed and should be retried with that specific page β so retry with that page specifically, don't get it twisted π₯-ENOENTwhen deflating page succeeded but inflatingnewpagefailed β ngl this one's a little cursed π because the deflate worked and the inflate didn't, which effectively deflates the balloon. so, yeah. read that one twice.
bestie warning-ish reminder: -ENOENT is not just "oops nothing happened" β the deflate already landed, so the balloon is genuinely deflated by the time you get this back. plan accordingly π«Ά
π SEE ALSO π
all her friends and mutuals, in order, because we do not leave anyone out π
Kernel file ./drivers/misc/vmw_balloon.c, 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_split_refused_pages(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).
like, the whole group chat. iykyk π§
and that's the page!! mwah π this cutie lives at ./drivers/misc and the date stamp on her is October 2026 β so if you're reading this in any other month, respectfully, time travel. bye bestie, go migrate something 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