[dpdk-dev] [PATCH 1/3] rte_ethdev: Add API function to read dev clock

Andrew Rybchenko arybchenko at solarflare.com
Wed Mar 20 16:57:18 CET 2019


On 3/20/19 5:48 PM, Thomas Monjalon wrote:
> 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 at monjalon.net>

Taking into account that timestamp in mbuf is not normalized (neither
unit nor reference) and the API helps to normalize units, it makes sense.
I recall discussion about timestamp if should be normalized or
not, the decision was to keep it undefined.

Acked-by: Andrew Rybchenko <arybchenko at solarflare.com>



More information about the dev mailing list