nbcon_cpu_emergency_exit(9)
π
nbcon_cpu_emergency_exit β exit an emergency section (yes bestie, the (9) manual section, kernel API vibes)
okay so real quick, before we get into it: this page lives in the kernel API manual, section 9, and the whole thing is called nbcon_cpu_emergency_exit. iconic name, lowkey intimidating, but it's honestly so simple. π«Ά
β¨ NAME β¨
nbcon_cpu_emergency_exit β exit an emergency section
like, you're getting out of the emergency zone. that's it. that's the function. πΈ
π SYNOPSIS π
void nbcon_cpu_emergency_exit (void );
no args, no return value, just vibes and a clean departure. π
π¦ ARGUMENTS π¦
voidβ no arguments. literally none. nothing to pass, nothing to worry about. ngl this is the most chill argument list ever. β¨
π₯ CONTEXT π₯
you call this within an emergency section, and what it does is enable preemption. so like, preemption was off while you were in there, and this is the part where you let it come back. main character energy for the scheduler, honestly. π
fr fr: you gotta already be inside an emergency section when you call this. that's the context, bestie β it's not a "call me anytime" function. π
π SEE ALSO π
the whole squad, no cap. these all hang out in the kernel file ./kernel/printk/nbcon.c:
nbcon_state_set(9)nbcon_state_read(9)nbcon_state_try_cmpxchg(9)nbcon_seq_read(9)nbcon_seq_force(9)nbcon_seq_try_update(9)nbcon_context_try_acquire_direct(9)nbcon_context_try_acquire_requested(9)nbcon_context_try_acquire_handover(9)nbcon_context_try_acquire_hostile(9)nbcon_context_try_acquire(9)nbcon_context_release(9)nbcon_context_can_proceed(9)nbcon_can_proceed(9)__nbcon_context_update_unsafe(9)nbcon_enter_unsafe(9)nbcon_exit_unsafe(9)nbcon_reacquire_nobuf(9)nbcon_emit_next_record(9)nbcon_kthread_should_wakeup(9)nbcon_kthread_func(9)nbcon_irq_work(9)nbcon_kthreads_wake(9)nbcon_kthread_create(9)nbcon_get_cpu_emergency_nesting(9)nbcon_get_default_prio(9)nbcon_allow_unsafe_takeover(9)nbcon_legacy_emit_next_record(9)__nbcon_atomic_flush_pending_con(9)nbcon_atomic_flush_pending_con(9)__nbcon_atomic_flush_pending(9)nbcon_atomic_flush_pending(9)nbcon_atomic_flush_unsafe(9)nbcon_cpu_emergency_enter(9)nbcon_alloc(9)nbcon_free(9)nbcon_device_try_acquire(9)nbcon_device_release(9)nbcon_kdb_try_acquire(9)nbcon_kdb_release(9)nbcon_write_context_is_braille(9)nbcon_braille_try_acquire(9)nbcon_braille_release(9)
obviously nbcon_cpu_emergency_enter(9) is the other half of this duo β the way that enter/exit pair just works, we love a matched set. π
and that's the page!! π source-wise this one comes from the kernel file directory ./kernel/printk, dated October 2026, and it's the nbcon_cpu_emergency_exit(9) page β go forth and exit those emergency sections responsibly, 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