2021.03.13 - Chemnitzer Linux Tage 2021: An Introduction to the Linux Kernel Block I/O Stack¶
I got the chance again this year to hold a talk at the Chemnitzer Linux Tage (Chemnitzer Linux Days). Out of personal curiosity, and because I thought this topic would be interesting for other folks as well, I submitted a talk about the Linux Kernel Block I/O Stack.
An Introduction to the Linux Kernel Block I/O Stack
During my day job at IBM I am still maintainer of the zfcp device driver, which provides hardware support for IBM’s FICON Express, and FCP Express HBAs. To make a long explanation short, in Linux terms this is a SCSI Host. It provides the lowest part of the Linux Block I/O Stack for this particular hardware, which is responsible to program the hardware/firmware in a way, so it can serve whatever I/O requests have been generated above in the stack.
Because of how it is structured, and especially also thanks to the SCSI device stack, we don’t have to deal all that much with the higher layers of the stack. In my daily work that helps somewhat to focus on one area, and we don’t have to deal with all that much fallout from things that go wrong from time to time above us. In that way the abstraction helps us.
But it also separates us somewhat from the development that happens in the common Block I/O stack. And if you don’t actively spend time to understand what is happening there, and what development is going on, it is very easy to loose track.
I used the preparation for this talk as a opportunity to refresh my knowledge, and get back up-to-date. As as useful “side effect” it also generated a nice presentation, and hopefully a good talk. I really think the presentation turned out really well, and I hope it is useful to some more people than just myself ☺.
Presentation at the CLT2021¶
The presentation is gonna happen here: CLT Talk.
There is also gonna be a recording, which should be linked/hosted at the same location once its ready.