X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fsvm%2Fsvm_fifo.c;fp=src%2Fsvm%2Fsvm_fifo.c;h=fda9481e72161b5a668a96cbe50203fd761f2707;hb=97d39e3e054ee681335197205e94fbf9a97a40e4;hp=8e3bb0a7c8c01d1fc8b863be5ddc97ea59943894;hpb=fb7e7ed2cd10446d5ecd1b1e8df470e706c448ed;p=vpp.git diff --git a/src/svm/svm_fifo.c b/src/svm/svm_fifo.c index 8e3bb0a7c8c..fda9481e721 100644 --- a/src/svm/svm_fifo.c +++ b/src/svm/svm_fifo.c @@ -1024,6 +1024,10 @@ svm_fifo_dequeue (svm_fifo_t * f, u32 len, u8 * dst) svm_fifo_copy_from_chunk (f, f->head_chunk, head, dst, len, &f->head_chunk); head = head + len; + /* In order dequeues are not supported in combination with ooo peeking. + * Use svm_fifo_dequeue_drop instead. */ + ASSERT (rb_tree_n_nodes (&f->ooo_deq_lookup) <= 1); + if (f_pos_geq (head, f_chunk_end (f->start_chunk))) fsh_collect_chunks (f->fs_hdr, f->slice_index, f_unlink_chunks (f, head, 0));