lean linux kfifo and use c data structure circle queue