Using nonblocking fifo for optimal processing