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.

A video recording of the session is also available: CLT 2021: Lecture 165

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.

Slides Preview


Slide 01


Slide 02


Slide 03


Slide 04


Slide 05


Slide 06


Slide 07


Slide 08


Slide 09


Slide 10


Slide 11


Slide 12


Slide 13


Slide 14


Slide 15


Slide 16


Slide 17


Slide 18


Slide 19


Slide 20


Slide 21


Slide 22


Slide 23


Slide 24


Slide 25


Slide 26


Slide 27


Slide 28


Slide 29


Slide 30


Slide 31


Slide 32


Slide 33


Slide 34


Slide 35


Slide 36


Slide 37


Slide 38


Slide 39


Slide 40


Slide 41


Slide 42