__ipi_send_mask(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… __ipi_send_mask β€” send an IPI to target Linux SMP CPU(s)

okay so bestie, we're in the Kernel API Manual today, and the star of the show is __ipi_send_mask from __ipi_send_mask(9). yes it has the double underscore, no you cannot skip it, she's built different πŸŽ€


✨ SYNOPSIS ✨

int __ipi_send_mask (struct irq_desc *desc , const struct cpumask *dest
);

like literally that's the whole signature. one int, two args, zero drama πŸ’…


🫢 ARGUMENTS 🫢

  • desc β€” pointer to the irq_desc of the IRQ. that's her little info card, she needs it, don't lose it πŸ™ˆ
  • dest β€” the destination CPU(s), and this one comes with a vibe check: it must be a subset of the mask passed to irq_reserve_ipi. not a superset, not a "close enough", a subset. periodt πŸ’€

🌸 DESCRIPTION 🌸

okay so here's the tea β€” this function exists for architecture or core code to speed up IPI sending. she's the fast lane, the express checkout, the "don't talk to me I'm busy" of IPI delivery ⚑

and the big one, listen carefully:

NOT usable from driver code. like. at all. this is not for you, driver bestie, this is core-code-only, iykyk 😭

⭐ RETURN ⭐

  • 0 on success πŸŽ‰ (slay, everything worked)
  • a negative error number on failure πŸ˜” (it's giving "something went wrong", read the number and cope)

πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group lives in the kernel file ./kernel/irq/ipi.c, go say hi to:


and that's the page, bestie 🌈 this lil cutie lives in ./kernel/irq, dated October 2026, and she goes by __ipi_send_mask(9) β€” go forth and send those IPIs responsibly, mwah πŸ’–πŸŽ€

πŸ“¦ where this page comes from