All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Musatescu, Flavia" <flavia.musatescu@intel.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: dev@dpdk.org, "John W. Linville" <linville@tuxdriver.com>,
	stable@dpdk.org, ciwillia@brocade.com
Subject: Re: [dpdk-dev] [PATCH v2] net/af_packet: improve Tx statistics accuracy
Date: Fri, 11 Oct 2019 18:13:20 +0100	[thread overview]
Message-ID: <62ba077a-e200-cbb7-81a6-dca8f7571d98@intel.com> (raw)
In-Reply-To: <20191010113533.43333afe@hermes.lan>

On 10/10/2019 19:35, Stephen Hemminger wrote:
> On Thu, 10 Oct 2019 18:34:30 +0100
> Flavia Musatescu <flavia.musatescu@intel.com> 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 <flavia.musatescu@intel.com>
>>
>> ---
>> 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?
Hi Stephen,

I agree with EAGAIN error case as I was able to test this scenario and 
check the statistics.

Can we get an EINTR error in case of a nonblocking operation 
(MSG_DONTWAIT flag is being used)? Is this a common situation and will 
the gain justify the cost of an additional check? Do you have any 
suggestions for how I could test this scenario?

Thanks,
Flavia


  reply	other threads:[~2019-10-11 17:13 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-09 15:29 [dpdk-dev] [PATCH] net/af_packet: improve Tx statistics accuracy Flavia Musatescu
2019-10-09 17:26 ` Stephen Hemminger
2019-10-10 17:34 ` [dpdk-dev] [PATCH v2] " Flavia Musatescu
2019-10-10 18:35   ` Stephen Hemminger
2019-10-11 17:13     ` Musatescu, Flavia [this message]
2019-10-17 11:51   ` [dpdk-dev] [PATCH v3] " Flavia Musatescu
2019-10-18 14:24     ` [dpdk-dev] [PATCH v4] " Flavia Musatescu
2019-10-18 15:15       ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2019-10-21 18:15         ` Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=62ba077a-e200-cbb7-81a6-dca8f7571d98@intel.com \
    --to=flavia.musatescu@intel.com \
    --cc=ciwillia@brocade.com \
    --cc=dev@dpdk.org \
    --cc=linville@tuxdriver.com \
    --cc=stable@dpdk.org \
    --cc=stephen@networkplumber.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.