Re: [PATCH net-next 1/4] time64.h: define PSEC_PER_NSEC and use it in tc-taprio

From: Vincenzo Frascino
Date: Mon Jun 27 2022 - 05:25:56 EST


Hi Vladimir,

On 6/27/22 09:51, Vladimir Oltean wrote:
> Hi Vincenzo,
>
> On Mon, Jun 27, 2022 at 08:52:51AM +0100, Vincenzo Frascino wrote:
>> Hi Vladimir,
>>
>> On 6/26/22 13:05, Vladimir Oltean wrote:
>>> Time-sensitive networking code needs to work with PTP times expressed in
>>> nanoseconds, and with packet transmission times expressed in
>>> picoseconds, since those would be fractional at higher than gigabit
>>> speed when expressed in nanoseconds.
>>>
>>> Convert the existing uses in tc-taprio to a PSEC_PER_NSEC macro.
>>>
>>> Cc: Andy Lutomirski <luto@xxxxxxxxxx>
>>> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>>> Cc: Vincenzo Frascino <vincenzo.frascino@xxxxxxx>
>>> Signed-off-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>
>>> ---
>>> include/vdso/time64.h | 1 +
>>> net/sched/sch_taprio.c | 4 ++--
>>> 2 files changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/include/vdso/time64.h b/include/vdso/time64.h
>>> index b40cfa2aa33c..f1c2d02474ae 100644
>>> --- a/include/vdso/time64.h
>>> +++ b/include/vdso/time64.h
>>> @@ -6,6 +6,7 @@
>>> #define MSEC_PER_SEC 1000L
>>> #define USEC_PER_MSEC 1000L
>>> #define NSEC_PER_USEC 1000L
>>> +#define PSEC_PER_NSEC 1000L
>>
>> Are you planning to use this definition in the vdso library code? If not, you
>> should define PSEC_PER_NSEC in "include/linux/time64.h". The vdso namespace
>> should contain only the definitions shared by the implementations of the kernel
>> and of the vdso library.
>
> I am not. I thought it would be ok to preserve the locality of
> definitions by placing this near the others of its kind, since a macro
> doesn't affect the compiled vDSO code in any way. But if you prefer, I
> can create a new mini-section in linux/time64.h. Any preference on where
> exactly to place that definition within the file?

I do not have a strong opinion on where to put it. But I think that if you put a
section above TIME64_MAX should work.

--
Regards,
Vincenzo