teardown_percpu_nmi(9)
β¨ teardown_percpu_nmi(9) β¨
okay so this is a page from the Kernel API Manual, and honestly? it's a short one but it's important, so stay with me bestie π
πΈ NAME πΈ
teardown_percpu_nmi β literally undoes the NMI setup of an IRQ line π
π¦ SYNOPSIS π¦
void teardown_percpu_nmi (unsigned int irq );
π ARGUMENTS π
irqβ the interrupt line we're pulling the CPU-local NMI configuration off of π«Ά
π₯ DESCRIPTION π₯
So this call is the undo button for prepare_percpu_nmi β like, whatever that one set up, this one takes it right back down. no cap, that's the whole vibe β¨
β οΈ okay important: the IRQ line should not be enabled for the current CPU when you call this. and because this is a CPU-local operation, you gotta call it from non-preemptible context. like, do not be preempted mid-teardown, that's not the move π
π SEE ALSO π
the kernel file ./kernel/irq/manage.c is where it lives, and here's the whole friend group β go say hi to all of them π§:
synchronize_hardirq(9)synchronize_irq(9)irq_can_set_affinity(9)irq_can_set_affinity_usr(9)irq_set_thread_affinity(9)irq_affinity_schedule_notify_work(9)irq_update_affinity_desc(9)irq_set_affinity(9)irq_force_affinity(9)irq_set_affinity_notifier(9)irq_set_vcpu_affinity(9)disable_irq_nosync(9)disable_irq(9)disable_hardirq(9)disable_nmi_nosync(9)enable_irq(9)enable_nmi(9)irq_set_irq_wake(9)irq_wake_thread(9)free_irq(9)request_threaded_irq(9)request_any_context_irq(9)request_nmi(9)irq_percpu_is_enabled(9)free_percpu_irq(9)request_percpu_irq_affinity(9)request_percpu_nmi(9)prepare_percpu_nmi(9)irq_get_irqchip_state(9)irq_set_irqchip_state(9)irq_has_action(9)irq_check_status_bit(9)
and that's the whole page bestie, you ate that π the source is ./kernel/irq, dated October 2026 β periodt πβ¨
π¦ 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