cgroup_migrate_prepare_dst(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cgroup_migrate_prepare_dst(9) β€” from the Kernel API Manual, bestie

okay so picture this: it's giving kernel internals, it's giving cgroup energy, and honestly? we're obsessed. this is a page straight outta the Kernel API Manual and it's here to walk you through prepping destination css_sets before a migration pops off. no cap, let's go. πŸ¦‹


✨ NAME ✨

cgroup_migrate_prepare_dst β€” literally the function that prepares destination css_sets for migration πŸŽ€


🌸 SYNOPSIS 🌸

int cgroup_migrate_prepare_dst (struct cgroup_mgctx *mgctx );

🧚 ARGUMENTS 🧚

  • mgctx β€” the migration context. that's it, that's the whole argument. she's the main character of this whole operation πŸ’…

πŸ”₯ DESCRIPTION πŸ”₯

So. Tasks are about to be moved (yes, the tasks, her moment has arrived), and all the source css_sets have already been preloaded into mgctx->preloaded_src_csets. iconic. 😌

This function then does the cute part: it looks up and pins all the destination css_sets, links each one to its source, and appends them to mgctx->preloaded_dst_csets. matching them up like it's a group chat and everybody's getting paired off. slay. πŸ’–

⚠️ sequencing check, bestie, do not skip this: this function must be called after cgroup_migrate_add_src has been called on each migration source css_set. every single one. fr fr.

And once the migration has actually been performed using cgroup_migrate, you must call cgroup_migrate_finish on mgctx. like, that's the cleanup era, we don't skip the cleanup era. 🫢


πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./kernel/cgroup/cgroup.c β€” and honestly, the whole extended cgroup cinematic universe, in exactly this order:

cgroup_ssid_enabled(9), cgroup_on_dfl(9), cgroup_e_css_by_mask(9), cgroup_e_css(9), cgroup_get_e_css(9), __cgroup_task_count(9), cgroup_task_count(9), for_each_css(9), do_each_subsys_mask(9), css_set_populated(9), css_update_populated(9), css_set_update_populated(9), css_set_move_task(9), compare_css_sets(9), find_existing_css_set(9), allocate_cgrp_cset_links(9), link_css_set(9), find_css_set(9), cgroup_file_mode(9), cgroup_calc_subtree_ss_mask(9), cgroup_kn_unlock(9), cgroup_kn_lock_live(9), css_clear_dir(9), css_populate_dir(9), cgroup_attach_lock(9), cgroup_attach_unlock(9), cgroup_migrate_add_task(9), cgroup_taskset_first(9), cgroup_taskset_next(9), cgroup_migrate_execute(9), cgroup_migrate_vet_dst(9), cgroup_migrate_finish(9), cgroup_migrate_add_src(9), cgroup_migrate(9), cgroup_attach_task(9), cgroup_update_dfl_csses(9), cgroup_lock_and_drain_offline(9), cgroup_save_control(9), cgroup_propagate_control(9), cgroup_restore_control(9), cgroup_apply_control_enable(9), cgroup_apply_control_disable(9), cgroup_apply_control(9), cgroup_finalize_control(9), cgroup_enable_threaded(9), cgroup_tryget_css(9), cgroup_addrm_files(9), cgroup_rm_cftypes(9), cgroup_add_cftypes(9), cgroup_add_dfl_cftypes(9), cgroup_add_legacy_cftypes(9), cgroup_file_notify(9), cgroup_file_show(9), css_next_child(9), css_next_descendant_pre(9), css_rightmost_descendant(9), css_next_descendant_post(9), css_has_online_children(9), css_task_iter_advance_css_set(9), css_task_iter_start(9), css_task_iter_next(9), css_task_iter_end(9), css_create(9), kill_css_sync(9), kill_css_finish(9), cgroup_destroy_locked(9), cgroup_init_early(9), cgroup_init(9), cgroup_fork(9), cgroup_v1v2_get_from_file(9), cgroup_get_from_file(9), cgroup_css_set_fork(9), cgroup_css_set_put_fork(9), cgroup_can_fork(9), cgroup_cancel_fork(9), cgroup_post_fork(9), cgroup_task_exit(9), css_tryget_online_from_dir(9), css_from_id(9), cgroup_get_from_path(9), cgroup_v1v2_get_from_fd(9), cgroup_get_from_fd(9), cgroup_parse_float(9)

like… that's a lot of friends and every single one of them made the list. iykyk πŸ’€βœ¨


and that's the whole page, bestie!! this lil gem lives over in ./kernel/cgroup and it's dated October 2026 β€” so yes, she's timestamped in the future, she's mysterious, she's iconic. go forth and migrate responsibly πŸ’œπŸŒΈπŸŽ€

πŸ“¦ where this page comes from