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

Reply via email to