kfifo

#include <linux/kfifo.h>

Mit kfifo_put(kfifo, buffer, len) koennen Daten in das FIFO gespeichert werden, mit kfifo_get(kfifo, buffer, len) wieder entfernt werden. Der Fuellstand der FIFO kann mit kfifo_len abgefragt werden.

Initialisierung mit kfifo = kfifo_alloc(size, GFP_KERNEL, &lock); Wenn es immer nur einen Leser und einen Schreiber gibt wird kein locking benoetigt, dann kann man auch die __kfifo_* Funktionen nehmen.