STRUCT IRB(9)
π NAME π
okay bestie, this is struct irb β aka the interruption response block β and we're reading it straight out of the Kernel API Manual π
. This is struct irb(9), and it's giving "the block that shows up when an interrupt happens" energy. β¨
β¨ SYNOPSIS β¨
here's the exact shape of it, no cap:
struct irb {
union scsw scsw;
union {
struct esw0 esw0;
struct esw1 esw1;
struct esw2 esw2;
struct esw3 esw3;
struct esw_eadm eadm;
} esw;
__u8 ecw[32];
};
π«Ά Members π«Ά
okay so inside this icon we have:
scswβ subchannel status word, literally the status-word member πeswβ extended status word, the extended one π¦ecwβ extended control word, control-word bestie π
π Description π
so picture it: an interrupt happens, and the kernel hands this irb to the device driver. For solicited interrupts, the common I/O layer has already checked whether a field is valid β and if a field is not valid, it's always passed as 0, periodt. If a unit check occurred, ecw may contain sense data; that sense data gets retrieved by the common I/O layer itself when the device doesn't support concurrent sense (so the device driver never needs to perform basic sense itself, thank goodness π). For unsolicited interrupts, the irb is passed as-is (expect for sense data, if applicable). π
π SEE ALSO π
the kernel file ./arch/s390/include/asm/cio.h is the source-y spot, and the full reference squad is:
struct ccw1(9)struct ccw0(9)struct erw(9)struct erw_eadm(9)struct sublog(9)struct esw0(9)struct esw1(9)struct esw2(9)struct esw3(9)struct esw_eadm(9)struct ciw(9)struct ccw_dev_id(9)ccw_dev_id_is_equal(9)pathmask_to_pos(9)
okay that's the whole tea β β source/version ./arch/s390/include/asm, date October 2026, all about struct irb(9). mwah, 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