From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <thomas@monjalon.net>
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by dpdk.org (Postfix) with ESMTP id 559D6D0B2
 for <dev@dpdk.org>; Wed, 20 Mar 2019 15:48:20 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id E382C2112B;
 Wed, 20 Mar 2019 10:48:19 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Wed, 20 Mar 2019 10:48:19 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 from:to:cc:subject:date:message-id:in-reply-to:references
 :mime-version:content-transfer-encoding:content-type; s=mesmtp;
 bh=joFHKmmAQWpnOt9OmOsxeojnyvkfIPO24+hVnHW+kV4=; b=RgB7I4CE4Oa2
 QSrU+QsTWFwt5jL5ntyLIHBxEPXxGXEsiS/ZhXSC3jHdqkKWY7WKIydG7015yPoM
 NqT/aOogrnEZ7C9mFI0lSvQVxITUlNybqrGx3LNc5R96MMbepvJyosiyb61EZGBW
 V2U9XLNafIgEBk2aZXiefnKGLoddVL0=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :date:from:in-reply-to:message-id:mime-version:references
 :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
 :x-sasl-enc; s=fm2; bh=joFHKmmAQWpnOt9OmOsxeojnyvkfIPO24+hVnHW+k
 V4=; b=PQPRQ8GTZ/lckHYHXVqS8OZkQO5WAdzJy+DfRTKHUd/8bXQLAdnx/KVUd
 ioeeJBaR6WRr7VOVw32rsv7yTjiQGmu59s8qWpWvS7PexQMRCQ7VcHu363vPsI8W
 p9l3/61+TSXxHIClaDN6e3hyYfGGiRqzFmZ2qamtXRxJBhL2Smbhcj9bUH4uVh+M
 Z777hiugKbltmVROx1UoU+7Nozgyj6/40RDFlR8hrPdJLN+yrs6xsbr2qWSiAV5a
 5Lro8HS9yQZrXRyqq7ZuyKhMP3ncdvBZZxI3Z/jLNE6f5v69yDQPAAJz4rHM3BYZ
 uD0InRuws28Wwx16dtJF5S1KDiOFw==
X-ME-Sender: <xms:slKSXLoYMkcr0xQkMZBkgFk7rQFTFoHXfnVSkIn0gfh_nKmIaPc61w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedutddrieeigdeilecutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
 fjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhmrghs
 ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucfkph
 epjeejrddufeegrddvtdefrddukeegnecurfgrrhgrmhepmhgrihhlfhhrohhmpehthhho
 mhgrshesmhhonhhjrghlohhnrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd
X-ME-Proxy: <xmx:slKSXHgL8sxyEzzAovsYHQRzMoDvrSXZty0acbMQP5omtb3KrmoYTg>
 <xmx:slKSXM3uvGa5cpziMhOJZk0AxndXsycFFelbueCM0qeIIhaANgAoUA>
 <xmx:slKSXNYjY_vX7eiuVAQhnm568KlIQUhc237O8sO_HUoYf4mH_dBvyg>
 <xmx:s1KSXBhNfcgW_NTILIovnDNn76NUOnB-PyrxpNQeqfo_n1Sq5A_NNA>
Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])
 by mail.messagingengine.com (Postfix) with ESMTPA id CFD1C10311;
 Wed, 20 Mar 2019 10:48:16 -0400 (EDT)
From: Thomas Monjalon <thomas@monjalon.net>
To: "Yigit, Ferruh" <ferruh.yigit@linux.intel.com>
Cc: dev@dpdk.org, Tom Barbette <barbette@kth.se>,
 Ferruh Yigit <ferruh.yigit@intel.com>, Shahaf Shuler <shahafs@mellanox.com>,
 Andrew Rybchenko <arybchenko@solarflare.com>,
 "bruce.richardson@intel.com" <bruce.richardson@intel.com>,
 "john.mcnamara@intel.com" <john.mcnamara@intel.com>,
 Yongseok Koh <yskoh@mellanox.com>,
 Alejandro Lucero <alejandro.lucero@netronome.com>,
 Konstantin Ananyev <konstantin.ananyev@intel.com>
Date: Wed, 20 Mar 2019 15:48:15 +0100
Message-ID: <3407362.WhE9PAp8Q4@xps>
In-Reply-To: <688f9052-b861-0446-5eda-44952bb39f1e@linux.intel.com>
References: <3811860b2a7b4bd2be2e9d3fd7de23c0@exdb05.ug.kth.se>
 <1546947039501.61612@kth.se>
 <688f9052-b861-0446-5eda-44952bb39f1e@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
Subject: Re: [dpdk-dev] [PATCH 1/3] rte_ethdev: Add API function to read dev
	clock
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>
X-List-Received-Date: Wed, 20 Mar 2019 14:48:20 -0000

19/03/2019 14:32, Yigit, Ferruh:
> On 1/8/2019 11:30 AM, Tom Barbette wrote:
> > Ferruh Yigit wrote:
> >> Why timestamp offloading become useless? When timestamp offloading enabled,
> >> device fills 'mbuf.timestamp' and you can use it.
> > But the frequency is unknown, and the reference time neither. So it can be used only to know that "some time passed" between packets.
> > 
> >> For your case this timestamp for mlx is device clock and you are adding this API
> >> to be able to convert device clock to real time, this is not something enables
> >> the timestamp offload.
> > I get your point, but a keyboard is highly required to use a computer. It's pretty much useless without it. Without this API, the timestamp offload makes no sense. It's a random number generator at best...
> > 
> >> Technically driver can set the 'mbuf.timestamp' with the real clock right, if it
> >> is required? Or this can be defined by a devarg?
> > I don't think so. Device have no sense of system time. And doing it in the driver is tricky because it depends on the user needs. Catch-up with NTP updates would need a timer and various parameters... Hence we prefer to give a simple working code, and users may do this if they want.
> > 
> > 
> > For the other comments it's not my call... I would just underline that timestamp offload is not usable in the current state, and there is a lot of use case for monitoring latency-sensitive applications.
> 
> Hi Thomas, Andrew,
> 
> CAn you please comment on patch, it adds a new 'rte_eth_read_clock()' API to
> read device clock to read timestamp value, later to use this value to map to the
> actual time.
> So that can convert timestamp information from each packet into real time.

The approach is smart in my opinion.
It is requesting the time generator (at its source) and allowing
the app to do any kind of time handling strategy.

> My question was if this is common requirement or specific to single device?

It will work with any device providing some timestamps.
There is nothing specific here in my opinion.

> And if can be handles in driver level.

Yes, it may be handled differently.
But this approach looks to be the most flexible and reliable.

Acked-by: Thomas Monjalon <thomas@monjalon.net>

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 dpdk.space (Postfix) with ESMTP id 6A552A00E6
	for <public@inbox.dpdk.org>; Wed, 20 Mar 2019 15:48:22 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 9EB451B0FC;
	Wed, 20 Mar 2019 15:48:21 +0100 (CET)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by dpdk.org (Postfix) with ESMTP id 559D6D0B2
 for <dev@dpdk.org>; Wed, 20 Mar 2019 15:48:20 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id E382C2112B;
 Wed, 20 Mar 2019 10:48:19 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Wed, 20 Mar 2019 10:48:19 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 from:to:cc:subject:date:message-id:in-reply-to:references
 :mime-version:content-transfer-encoding:content-type; s=mesmtp;
 bh=joFHKmmAQWpnOt9OmOsxeojnyvkfIPO24+hVnHW+kV4=; b=RgB7I4CE4Oa2
 QSrU+QsTWFwt5jL5ntyLIHBxEPXxGXEsiS/ZhXSC3jHdqkKWY7WKIydG7015yPoM
 NqT/aOogrnEZ7C9mFI0lSvQVxITUlNybqrGx3LNc5R96MMbepvJyosiyb61EZGBW
 V2U9XLNafIgEBk2aZXiefnKGLoddVL0=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :date:from:in-reply-to:message-id:mime-version:references
 :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
 :x-sasl-enc; s=fm2; bh=joFHKmmAQWpnOt9OmOsxeojnyvkfIPO24+hVnHW+k
 V4=; b=PQPRQ8GTZ/lckHYHXVqS8OZkQO5WAdzJy+DfRTKHUd/8bXQLAdnx/KVUd
 ioeeJBaR6WRr7VOVw32rsv7yTjiQGmu59s8qWpWvS7PexQMRCQ7VcHu363vPsI8W
 p9l3/61+TSXxHIClaDN6e3hyYfGGiRqzFmZ2qamtXRxJBhL2Smbhcj9bUH4uVh+M
 Z777hiugKbltmVROx1UoU+7Nozgyj6/40RDFlR8hrPdJLN+yrs6xsbr2qWSiAV5a
 5Lro8HS9yQZrXRyqq7ZuyKhMP3ncdvBZZxI3Z/jLNE6f5v69yDQPAAJz4rHM3BYZ
 uD0InRuws28Wwx16dtJF5S1KDiOFw==
X-ME-Sender: <xms:slKSXLoYMkcr0xQkMZBkgFk7rQFTFoHXfnVSkIn0gfh_nKmIaPc61w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedutddrieeigdeilecutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
 fjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhmrghs
 ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucfkph
 epjeejrddufeegrddvtdefrddukeegnecurfgrrhgrmhepmhgrihhlfhhrohhmpehthhho
 mhgrshesmhhonhhjrghlohhnrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd
X-ME-Proxy: <xmx:slKSXHgL8sxyEzzAovsYHQRzMoDvrSXZty0acbMQP5omtb3KrmoYTg>
 <xmx:slKSXM3uvGa5cpziMhOJZk0AxndXsycFFelbueCM0qeIIhaANgAoUA>
 <xmx:slKSXNYjY_vX7eiuVAQhnm568KlIQUhc237O8sO_HUoYf4mH_dBvyg>
 <xmx:s1KSXBhNfcgW_NTILIovnDNn76NUOnB-PyrxpNQeqfo_n1Sq5A_NNA>
Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])
 by mail.messagingengine.com (Postfix) with ESMTPA id CFD1C10311;
 Wed, 20 Mar 2019 10:48:16 -0400 (EDT)
From: Thomas Monjalon <thomas@monjalon.net>
To: "Yigit, Ferruh" <ferruh.yigit@linux.intel.com>
Cc: dev@dpdk.org, Tom Barbette <barbette@kth.se>,
 Ferruh Yigit <ferruh.yigit@intel.com>, Shahaf Shuler <shahafs@mellanox.com>,
 Andrew Rybchenko <arybchenko@solarflare.com>,
 "bruce.richardson@intel.com" <bruce.richardson@intel.com>,
 "john.mcnamara@intel.com" <john.mcnamara@intel.com>,
 Yongseok Koh <yskoh@mellanox.com>,
 Alejandro Lucero <alejandro.lucero@netronome.com>,
 Konstantin Ananyev <konstantin.ananyev@intel.com>
Date: Wed, 20 Mar 2019 15:48:15 +0100
Message-ID: <3407362.WhE9PAp8Q4@xps>
In-Reply-To: <688f9052-b861-0446-5eda-44952bb39f1e@linux.intel.com>
References: <3811860b2a7b4bd2be2e9d3fd7de23c0@exdb05.ug.kth.se>
 <1546947039501.61612@kth.se>
 <688f9052-b861-0446-5eda-44952bb39f1e@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="UTF-8"
Subject: Re: [dpdk-dev] [PATCH 1/3] rte_ethdev: Add API function to read dev
	clock
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>
Message-ID: <20190320144815.JKkVzBfXEX0uwZvKJn0IPUmV2Cr8ROKyNN8gOwsDvHM@z>

19/03/2019 14:32, Yigit, Ferruh:
> On 1/8/2019 11:30 AM, Tom Barbette wrote:
> > Ferruh Yigit wrote:
> >> Why timestamp offloading become useless? When timestamp offloading enabled,
> >> device fills 'mbuf.timestamp' and you can use it.
> > But the frequency is unknown, and the reference time neither. So it can be used only to know that "some time passed" between packets.
> > 
> >> For your case this timestamp for mlx is device clock and you are adding this API
> >> to be able to convert device clock to real time, this is not something enables
> >> the timestamp offload.
> > I get your point, but a keyboard is highly required to use a computer. It's pretty much useless without it. Without this API, the timestamp offload makes no sense. It's a random number generator at best...
> > 
> >> Technically driver can set the 'mbuf.timestamp' with the real clock right, if it
> >> is required? Or this can be defined by a devarg?
> > I don't think so. Device have no sense of system time. And doing it in the driver is tricky because it depends on the user needs. Catch-up with NTP updates would need a timer and various parameters... Hence we prefer to give a simple working code, and users may do this if they want.
> > 
> > 
> > For the other comments it's not my call... I would just underline that timestamp offload is not usable in the current state, and there is a lot of use case for monitoring latency-sensitive applications.
> 
> Hi Thomas, Andrew,
> 
> CAn you please comment on patch, it adds a new 'rte_eth_read_clock()' API to
> read device clock to read timestamp value, later to use this value to map to the
> actual time.
> So that can convert timestamp information from each packet into real time.

The approach is smart in my opinion.
It is requesting the time generator (at its source) and allowing
the app to do any kind of time handling strategy.

> My question was if this is common requirement or specific to single device?

It will work with any device providing some timestamps.
There is nothing specific here in my opinion.

> And if can be handles in driver level.

Yes, it may be handled differently.
But this approach looks to be the most flexible and reliable.

Acked-by: Thomas Monjalon <thomas@monjalon.net>