Lions' 本読み (124)

読み、という程のエントリにはならない予定です。

5386 struct devtab rktab;

これ、静的に領域が確保されるんですね。
ざくっと確認した所では bdevsw な配列の d_tab 属性からも参照可能らしい。
で、ディスク操作完了時に発生する割り込みハンドラの rkintr の例で確認すると

5457    bp = rktab.d_actf;

で取り出している struct buf なオブジェクトは定義コメントによれば

4557    struct buf *d_actf; /* I/O キューの先頭 */

ということなので、bp に取り出したオブジェクトが処理完了したものとして

5470    rktab.d_actf = bp->av_forw;
5471    iodone(bp);
5472    rkstart();

今の次、をキューの先頭にリセットして、iodone で取り出したオブジェクトを処理終了として次のリクエストを云々、という形になっています。
rk.c において rktab は d_actf および d_actl という属性とその属性の av_forw を使って I/O リクエストのキューを操作しているように読めます。

土曜の話が脳に残っている間に

bio.c とか rk.c のあたりは確認しておきたいです。