From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2A0FAA3160 for ; Thu, 10 Oct 2019 20:35:45 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 960E41E9C7; Thu, 10 Oct 2019 20:35:43 +0200 (CEST) Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by dpdk.org (Postfix) with ESMTP id 3067C1E9BA for ; Thu, 10 Oct 2019 20:35:42 +0200 (CEST) Received: by mail-pl1-f196.google.com with SMTP id d22so3217298pls.0 for ; Thu, 10 Oct 2019 11:35:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=H1phk85Eq8iuM0hqWwbok9WDda6uXGoATZwBaxAwZa8=; b=XpNe4CbF0pf0oi1jdgaiZW/C2Hz6h4RyygT0XChUhpdkjSMGRQkS6zLnU64njA+hs0 i0mMrWUCHy8VW9Zwm9vWYGLAGmw9lXCHhznL1g6CTEHH33Nj/AKGrg6NB9aB3uZVnblL hnjuyJMjX1O0m4z8u5ZxP/T4Cpelo4ORE91g4Rb+opNOxJ5w6e9AdfsJtVhcEyPUR/yT NpOvnodoF5yJR8PVnSM5WYT3+hEN+V3CXGR2Mi175L055O+oHr1XMsZthQuOWKPVxZEv ef5jThEnEiklKAkWrAU1V1QdoV4f3a1EdmxhLI+yX3H/HO8UdCVhiHkwwXfZMjufpPsr cmkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=H1phk85Eq8iuM0hqWwbok9WDda6uXGoATZwBaxAwZa8=; b=eIEQ4QssnIM/WWs4XJBwDrjTnhyI2h/2FNkH2njW4FuffRYNBFjR0ORwjjFQJhLT70 HoWvtVjIZE/74lGIbqadZlA94TQDUJAy8inY0ojYBeJVICcjXo9ojnd/+iCeCMrRjNYo vEnWMn5c2tf7g2ctN+4PrH6BioNT4FWyIhn94Rcf12XPs3oio8DPzF8SF8lMwJONlJnw fdM9dbWqAAjbDrk5atwqsPR40YaSwBOVYI8eV06upfrjXgqor3IyH0qXUinxXwfkkeIj HWsh41zunrooXxERTpmwxvlgJE50tJxf+diFU6+KkPO6H1hdP54gM0G78S4h0lxI5KBE Bi9w== X-Gm-Message-State: APjAAAXW0zmqKJRhqFnWVUaVqLgBN9KmwnodyKIABl1pQkN73HjqHfV0 6WUhbfPQtwLYDFzKeeSevAfzTA== X-Google-Smtp-Source: APXvYqwa4aOmT7s7oezC+uXeKh6U0wR/bNZOjOI6T1kRgjBmVhZYlXl0CYPqeZJtHieCcEQYjfIGEw== X-Received: by 2002:a17:902:6b88:: with SMTP id p8mr11314226plk.80.1570732541061; Thu, 10 Oct 2019 11:35:41 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id ev20sm6064560pjb.19.2019.10.10.11.35.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Oct 2019 11:35:40 -0700 (PDT) Date: Thu, 10 Oct 2019 11:35:33 -0700 From: Stephen Hemminger To: Flavia Musatescu Cc: dev@dpdk.org, "John W. Linville" , stable@dpdk.org, ciwillia@brocade.com Message-ID: <20191010113533.43333afe@hermes.lan> In-Reply-To: <1570728870-26668-1-git-send-email-flavia.musatescu@intel.com> References: <1570634949-26819-1-git-send-email-flavia.musatescu@intel.com> <1570728870-26668-1-git-send-email-flavia.musatescu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2] net/af_packet: improve Tx statistics accuracy 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, 10 Oct 2019 18:34:30 +0100 Flavia Musatescu wrote: > When sendto call fails and ENOBUFS error is being set some of the > packets are actually successfully transmitted. There is no available > count of those packets, so in order to make the statistics more > accurate, all the previously enqueued packets will be considered > successful, even though this is not entirely correct. > > Before: > testpmd Tx statistics: > TX-packets: 7529062 TX-errors: 3702150 TX-bytes: 451743720 > pktgen Rx statistics: > Total Rx Pkts: 10700700 > > After: > testpmd TX statistics: > TX-packets: 11510625 TX-errors: 0 TX-bytes: 690637500 > pktgen Rx statistics: > Total Rx Pkts: 10974307 > > Fixes: 74b7fc0a0ff1 ("net/af_packet: fix packet bytes counting") > Cc: ciwillia@brocade.com > Cc: stable@dpdk.org > > Signed-off-by: Flavia Musatescu > > --- > v2: > * Changed the comment > --- > drivers/net/af_packet/rte_eth_af_packet.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c > index 6df09f2..df281bf 100644 > --- a/drivers/net/af_packet/rte_eth_af_packet.c > +++ b/drivers/net/af_packet/rte_eth_af_packet.c > @@ -244,8 +244,12 @@ eth_af_packet_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) > } > > /* kick-off transmits */ > - if (sendto(pkt_q->sockfd, NULL, 0, MSG_DONTWAIT, NULL, 0) == -1) { > - /* error sending -- no packets transmitted */ > + if (sendto(pkt_q->sockfd, NULL, 0, MSG_DONTWAIT, NULL, 0) == -1 && > + errno != ENOBUFS) { > + /* > + * In case of a ENOBUFS error all of the enqueued packets will > + * be considered successful even though only some are sent. > + */ > num_tx = 0; > num_tx_bytes = 0; > } What about EINTR or EAGAIN?