From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 289F0A04B7;
	Wed, 14 Oct 2020 00:53:19 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id B93201DBCC;
	Wed, 14 Oct 2020 00:53:17 +0200 (CEST)
Received: from mga17.intel.com (mga17.intel.com [192.55.52.151])
 by dpdk.org (Postfix) with ESMTP id 5E3C51DBCB;
 Wed, 14 Oct 2020 00:53:15 +0200 (CEST)
IronPort-SDR: r5onZI0qJwQThfBISvJSPCJYhbDmV3b3Pld/O+1k9+HcJtTPJcjNynpWqluGqd5EFUVjmObUJp
 0XXlZJqSJ5hg==
X-IronPort-AV: E=McAfee;i="6000,8403,9773"; a="145861481"
X-IronPort-AV: E=Sophos;i="5.77,372,1596524400"; d="scan'208";a="145861481"
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 13 Oct 2020 15:53:12 -0700
IronPort-SDR: HFdAcIlu9iRsRt/4SedUpScnLTRw4oUZnMHbAxorF5Sj5rXKJ11/oprJIWJw6MO2M7AFsPSqOt
 g7VFoHJnKsxg==
X-IronPort-AV: E=Sophos;i="5.77,372,1596524400"; d="scan'208";a="530595116"
Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.214.64])
 ([10.213.214.64])
 by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 13 Oct 2020 15:53:11 -0700
To: Thomas Monjalon <thomas@monjalon.net>
Cc: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>, dev@dpdk.org,
 techboard@dpdk.org, Min Hu <humin29@huawei.com>
References: <20201012164602.1965694-1-ferruh.yigit@intel.com>
 <3382071.xncihUvvZe@thomas>
From: Ferruh Yigit <ferruh.yigit@intel.com>
Message-ID: <ffa1b3b4-dbf0-8903-04c1-09d4208cfb1c@intel.com>
Date: Tue, 13 Oct 2020 23:53:07 +0100
MIME-Version: 1.0
In-Reply-To: <3382071.xncihUvvZe@thomas>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Subject: Re: [dpdk-dev] [RFC 1/2] ethdev: move queue stats to xstats
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

On 10/12/2020 10:53 PM, Thomas Monjalon wrote:
> 12/10/2020 18:46, Ferruh Yigit:
>> Queue stats are stored in 'struct rte_eth_stats' as array and array size
>> is defined by 'RTE_ETHDEV_QUEUE_STAT_CNTRS' compile time flag.
>>
>> As a result of technical board discussion, decided to remove the queue
>> statistics from 'struct rte_eth_stats' in the long term.
>>
>> Instead PMDs should represent the queue statistics via xstats, this
>> gives more flexibility on the number of the queues supported.
> 
> Yes
> 
>> Currently queue stats in the xstats are filled by ethdev layer, using
> 
> "some basic" queue stats
> 
>> the basic stats, when queue stats removed from basic stats the
>> responsibility to fill the relevant xstats will be pushed to the PMDs.
>>
>> During the switch period, a temporary
>> 'RTE_ETH_DEV_QUEUE_STATS_IN_XSTATS' device flag is created. The PMDs
>> providing the queue stats in the xstats should set this flag to bypass
>> the relevant part in ethdev layer.
>>
>> When all PMDs switch to the xstats for the queue stats, queue stats
>> related fields from 'struct rte_eth_stats' will be removed, as well as
>> 'RTE_ETH_DEV_QUEUE_STATS_IN_XSTATS' flag.
>> Later 'RTE_ETHDEV_QUEUE_STAT_CNTRS' compile time flag also can be
>> removed.
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>> ---
>> --- a/lib/librte_ethdev/rte_ethdev.h
>> +++ b/lib/librte_ethdev/rte_ethdev.h
>> +/** Device provides queue stats in xstats */
>> +#define RTE_ETH_DEV_QUEUE_STATS_IN_XSTATS 0x0040
> 
> Not exact wording here and in the title.
> We should try to convey the idea that the basic queue stats
> are not automatically converted from the array to some xstats.
> Something like RTE_ETH_DEV_NO_AUTOFILL_QUEUE_XSTATS
> 
> Or we can define the opposite flag and set it by default
> in all drivers which fill the basic queue stats.
> I suggest RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS
> 

Agree that opposite flag makes it easier to traces the PMDs missing 
implementation, will send another RFC with it.