On Mon, Mar 27, 2017 at 12:29:30PM -0400, Allain Legacy wrote: > From: Matt Peters <matt.pet...@windriver.com> > > The current packet buffer alloc failures of the vhost dequeue operations > can flood the log system with error logs due to logging a runtime error > condition within the data path.
I agree that we should avoid flood. But somehow I think it's valueable to print such message. It could simply mean you don't have enough mbuf created, or, unlikely, mbuf leak happended. > In order to prevent this condition, but > still enable debugging, the logs are being changed to debug logs to ensure > they are not emitted unless the CONFIG_RTE_LIBRTE_VHOST_DEBUG option is > enabled. That basically means you will never see them in real life. I'm suggesting to add a new log API, RTE_LOG_ONCE. Sounds good? --yliu > > Signed-off-by: Matt Peters <matt.pet...@windriver.com> > Signed-off-by: Allain Legacy <allain.leg...@windriver.com> > --- > lib/librte_vhost/virtio_net.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c > index 337470d64..850b56082 100644 > --- a/lib/librte_vhost/virtio_net.c > +++ b/lib/librte_vhost/virtio_net.c > @@ -901,7 +901,7 @@ copy_desc_to_mbuf(struct virtio_net *dev, struct > vring_desc *descs, > if (mbuf_avail == 0) { > cur = rte_pktmbuf_alloc(mbuf_pool); > if (unlikely(cur == NULL)) { > - RTE_LOG(ERR, VHOST_DATA, "Failed to " > + LOG_DEBUG(VHOST_DATA, "Failed to " > "allocate memory for mbuf.\n"); > return -1; > } > @@ -1129,7 +1129,7 @@ rte_vhost_dequeue_burst(int vid, uint16_t queue_id, > > pkts[i] = rte_pktmbuf_alloc(mbuf_pool); > if (unlikely(pkts[i] == NULL)) { > - RTE_LOG(ERR, VHOST_DATA, > + LOG_DEBUG(VHOST_DATA, > "Failed to allocate memory for mbuf.\n"); > break; > } > -- > 2.12.1