From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by dpdk.org (Postfix) with ESMTP id A715C236 for ; Mon, 23 Oct 2017 10:46:25 +0200 (CEST) Received: by mail-wm0-f68.google.com with SMTP id q132so8230770wmd.2 for ; Mon, 23 Oct 2017 01:46:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=tKisBLd/Mj2vpT28PWKrbdM1gLEkz++9t2xGxmkdwcc=; b=dTOeGycer2d5iO42QIsGelEWumnq/CUydWDODzXxb41F32baXeLLCcU7PphhTe9xW6 vKmCZk0ERDaQnSAPXNE9HOiSE/bWAcZv3NJ8bLCYjisUV+dQ+S3I8qYtbDLNK5byywEz iVXfm3i5+eaIjvipRfN4ML+zn/qtZaoRWVtN4Lo0Kb6C8RKL6hAwmswYV3ZV4b/fkq+F JOgXMlvplvPTh/CAehVWWR8KUMGi4evp1ByuOAVLIBqrgs1jE9O1vY0kZmcDDzGzs29P LUrsXoCAqgDDEVRMmMII+FR6aYxj6A7gvbRBAW9duxPTd4FE3ql1MJUsWiE9B91xhJwD jeig== 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:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=tKisBLd/Mj2vpT28PWKrbdM1gLEkz++9t2xGxmkdwcc=; b=SWp79WhFkhAnK1gLujtBf87XbZULaxQwWNEeZzBgxGzWTR3CTI3x8b7yp72zv9reHr aV6E5k6dkize4Oy6wqhFlV9JpjzlFQuwU3pa6wh/l23GmdAYKOSPIeDALG2GwsUNB4ce XuFTUkWCvF8/VCcUFtmq36l4ckeZYHLihy+hbnFpjGFHEKXV+UDAVBiMR+Au5tKUt5la zaUdTgzt9dCZ+CnK4bzXHj4Oks28l+3G8E/XPMqQMnkEUeThz2rJH5ey6pLXB7OYqyGs O6syi4/u62qA1cPMAdAHiIiHbxD1JPf3HR+M94Y8Xl8Zqay07QVZDQ56P+fLaB8jD19r Dfnw== X-Gm-Message-State: AMCzsaXgMA7xwcJvoOg764dqNvm8vzcbmc/oRg4onEqMNM0jHCOWVD7+ l5qD0p76NLUxW5fNwTBQQqhhnsJA X-Google-Smtp-Source: ABhQp+QObwnxX2KQQ4cj/imXY76FpIlAQRXdXklMrMdC5p5M1tZXNvbtXGI/V2XXaT+XIz6ZYb48EA== X-Received: by 10.28.210.72 with SMTP id j69mr5016607wmg.75.1508748385161; Mon, 23 Oct 2017 01:46:25 -0700 (PDT) Received: from bidouze.vm.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id p28sm9687063wmf.2.2017.10.23.01.46.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Oct 2017 01:46:24 -0700 (PDT) Date: Mon, 23 Oct 2017 10:46:13 +0200 From: =?iso-8859-1?Q?Ga=EBtan?= Rivet To: Matan Azrad Cc: dev@dpdk.org Message-ID: <20171023084613.GL3596@bidouze.vm.6wind.com> References: <1508423514-28557-1-git-send-email-matan@mellanox.com> <1508619286-7096-1-git-send-email-matan@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1508619286-7096-1-git-send-email-matan@mellanox.com> User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [dpdk-dev] [PATCH v3 1/2] net/failsafe: improve stats 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: , X-List-Received-Date: Mon, 23 Oct 2017 08:46:25 -0000 Thanks Matan, On Sat, Oct 21, 2017 at 08:54:45PM +0000, Matan Azrad wrote: > The stats_get API was changed to signal a potential failure to read > stats. Furthermore, some PMDs are able to provide statistics even > after a removal event occurred. > > Considering this, the fail-safe can try to access the latest > statistics of a PMD to improve statistics accuracy. > > Attempt an ultimate statistics read on removal time; if that > fails, use the latest recorded snapshot. > > Signed-off-by: Matan Azrad Acked-by: Gaetan Rivet > --- > drivers/net/failsafe/failsafe_ether.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > V2: > Improve commit message. > Add warning massage when using stats snapshot. > Add time report from last snapshot. > > V3: > Separate patch. > Replace "cycles" by "timestamp". > > diff --git a/drivers/net/failsafe/failsafe_ether.c b/drivers/net/failsafe/failsafe_ether.c > index f4db423..0282891 100644 > --- a/drivers/net/failsafe/failsafe_ether.c > +++ b/drivers/net/failsafe/failsafe_ether.c > @@ -312,8 +312,16 @@ > static void > fs_dev_stats_save(struct sub_device *sdev) > { > + struct rte_eth_stats stats; > + int err; > + > + /* Attempt to read current stats. */ > + err = rte_eth_stats_get(PORT_ID(sdev), &stats); > + if (err) > + WARN("Could not access latest statistics from sub-device %d," > + " using latest snapshot.\n", SUB_ID(sdev)); > failsafe_stats_increment(&PRIV(sdev->fs_dev)->stats_accumulator, > - &sdev->stats_snapshot); > + err ? &sdev->stats_snapshot : &stats); > memset(&sdev->stats_snapshot, 0, sizeof(struct rte_eth_stats)); > } > > -- > 1.8.3.1 > -- Gaëtan Rivet 6WIND