From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH] virtio: Fix stats issue Date: Mon, 23 Mar 2015 11:42:10 +0100 Message-ID: <11509543.rOgWUoKvXr@xps13> References: <1427093798-23078-1-git-send-email-changchun.ouyang@intel.com> <550FD107.8060109@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev-VfR2kkLFssw@public.gmane.org To: "Ouyang, Changchun" Return-path: In-Reply-To: <550FD107.8060109-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" 2015-03-23 16:38, Ouyang, Changchun: > On 3/23/2015 3:20 PM, David Marchand wrote: > > On Mon, Mar 23, 2015 at 7:56 AM, Ouyang Changchun > > > wrote: > > > > It need clear/reset the stats information before count in all > > queues data. > > > > Signed-off-by: Changchun Ouyang > > > > --- > > lib/librte_pmd_virtio/virtio_ethdev.c | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c > > b/lib/librte_pmd_virtio/virtio_ethdev.c > > index 603be2d..e4cb55e 100644 > > --- a/lib/librte_pmd_virtio/virtio_ethdev.c > > +++ b/lib/librte_pmd_virtio/virtio_ethdev.c > > @@ -572,6 +572,10 @@ virtio_dev_stats_get(struct rte_eth_dev *dev, > > struct rte_eth_stats *stats) > > { > > unsigned i; > > > > + stats->opackets = 0; > > + stats->obytes = 0; > > + stats->oerrors = 0; > > > > > > stats are supposed to be zero'd in generic rte_ethdev.c before this > > pmd function is called, so this patch seems useless to me. > > Can you give some context ? > > > > Same comment for the i* part. > > > 2 reasons: > 1. this change could keep the stats_get has consistent behavior with the > one in other drivers; If there are some useless reset in other drivers, they should be removed. > 2. we don't rely on the assumption of caller always zero'd the stats, > and still can return correct value; The caller is ethdev and it is zero'ing the structure before the call: http://dpdk.org/browse/dpdk/commit/?id=02331c16ec0