From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vk1-f182.google.com (mail-vk1-f182.google.com [209.85.221.182]) by dpdk.org (Postfix) with ESMTP id C3B321B452 for ; Fri, 15 Feb 2019 10:33:58 +0100 (CET) Received: by mail-vk1-f182.google.com with SMTP id v131so1853367vkd.3 for ; Fri, 15 Feb 2019 01:33:58 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=w2Iks43PQ04DJqOxA3zGCZMry28v5GnOxpXL99mnJsY=; b=fyR/2zFRPJz2TUpx6IlbVFFPO/+6rIz88Qt2ZNAToojqdfHTlL7qus6UZKXGUIXq7O SirWO9Khz4sexbVyyn8D/G1cE9gJVfYWeUAf5bm2IEgz6GTkt2Ttca/Hm9yNSyR9wrxY 1S3HSLd2t4ler+GNxio/Iv2fq1aV9CtHefYfaPMEtkY5CfI5B0QeqwtpZpla58pmbG3c igiaT+3RQ2WxWfAiJr+5vHumbqrqNUydl5ZRU/NNO4smvaAevscyhu+eXQcKjZKcRKCi HUO17WLl5ZvtKbV26ee/bBT8AFS28YHFD9hcfozKIZ5n4zA5wQg+V9CGJJ5TdzYICl/6 0tug== X-Gm-Message-State: AHQUAuZlbkfRAC0Sw7x2BkldqRgSniLVjYp8zSIotpTSUtJysumfAxTL BW+ln6XyubXtPjHbLuNnk4u9OiQKw1Vp1uLD3axZGg== X-Google-Smtp-Source: AHgI3IYfBk9LaFFJsoS35/tIR+nYzuq+DOkAuMNCXQz0SufMcUjR/WKQOZ3bDMeDQ6Rt37JJPDDg1zrC4mCRulTEPyk= X-Received: by 2002:a1f:91c4:: with SMTP id t187mr4349351vkd.86.1550223238112; Fri, 15 Feb 2019 01:33:58 -0800 (PST) MIME-Version: 1.0 References: <1550158972-21895-1-git-send-email-david.marchand@redhat.com> <4891070.GnHtSQePbW@xps> In-Reply-To: <4891070.GnHtSQePbW@xps> From: David Marchand Date: Fri, 15 Feb 2019 10:33:47 +0100 Message-ID: To: Thomas Monjalon Cc: dev@dpdk.org, Bruce Richardson , Wenzhuo Lu , Jingjing Wu , bernard.iremonger@intel.com, Maxime Coquelin , "Yigit, Ferruh" , Andrew Rybchenko Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH 3/5] app/testpmd: add missing transmit errors stats X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2019 09:33:59 -0000 On Fri, Feb 15, 2019 at 9:58 AM Thomas Monjalon wrote: > 14/02/2019 19:51, David Marchand: > > What is the purpose of oerrors ? > > > > Since the drivers (via rte_eth_tx_burst return value) report the numbers > of > > packets successfully transmitted, the application can try to retransmit > the > > packets that did not make it and counts this. > > If the driver counts such "missed" packets, then it does the job the > > application will do anyway (wasting some cycles). > > But what is more a problem is that the application does not know if the > > packets in oerrors are its own retries or problems that the driver can > not > > detect (hw problems) but the hw can. > > > > So the best option is that oerrors does not report the packets the driver > > refuses (and I can see some drivers that do not comply to this) but only > > "external" errors from the driver pov. > > I can see the benefit of having driver errors in the stats, > so it is generically stored for later analysis or print. > It could be managed at ethdev level instead of the application > doing the computation. > > What about splitting the Tx errors in 2 fields? oerrors / ofull ? > Who said it's awful? sorry Bruce for anticipating ;) > Summary, correct me if we are not aligned :-) - ofull (maybe ofifoerrors?) is actually a count of SW failed transmits - it would be handled in rte_eth_tx_burst() itself in a generic way - the drivers do not need to track such SW failed transmits - oerrors only counts packets HW failed transmits, dropped out of the driver tx_pkt_burst() knowledge - the application does not have to track SW failed transmits since the stats is in ethdev It sounds good to me, this means an ethdev abi breakage. I will drop my current patch anyway. Touching oerrors would be a separate effort. -- David Marchand