mbox series

[net-next,v3,0/3] ptp: Support for multiple filtered timestamp event queue readers

Message ID 20230928133544.3642650-1-reibax@gmail.com (mailing list archive)
Headers show
Series ptp: Support for multiple filtered timestamp event queue readers | expand

Message

Xabier Marquiegui Sept. 28, 2023, 1:35 p.m. UTC
On systems with multiple timestamp event channels, there can be scenarios where
multiple userspace readers want to access the timestamping data for various
purposes.

One such example is wanting to use a pps out for time synchronization, and
wanting to timestamp external events with the synchronized time base 
simultaneously.

Timestmp event consumers on the other hand, are often interested in a subset of
the available timestamp channels. linuxptp ts2phc, for example, is not happy if
more than one timestamping channel is active on the device it is reading from.

This patch-set introduces linked lists to support multiple timestamp event queue
consumers, and timestamp event channel filters through IOCTLs.

Signed-off-by: Xabier Marquiegui <reibax@gmail.com>
Suggested-by: Richard Cochran <richardcochran@gmail.com>
---
v3:
  - add this patchset overview file
  - fix use of safe and non safe linked lists for loops
  - introduce new posix_clock private_data and ida object ids for better
    dicrimination of timestamp consumers
  - safer resource release procedures
  - filter application by object id, aided by process id
  - friendlier testptp implementation of event queue channel filters
v2: https://lore.kernel.org/netdev/20230912220217.2008895-1-reibax@gmail.com/
  - fix ptp_poll() return value
  - Style changes to comform to checkpatch strict suggestions
  - more coherent ptp_read error exit routines
  - fix testptp compilation error: unknown type name 'pid_t'
  - rename mask variable for easier code traceability
  - more detailed commit message with two examples
v1: https://lore.kernel.org/netdev/20230906104754.1324412-2-reibax@gmail.com/

Comments

Vinicius Costa Gomes Sept. 29, 2023, 11:39 p.m. UTC | #1
Xabier Marquiegui <reibax@gmail.com> writes:

> On systems with multiple timestamp event channels, there can be scenarios where
> multiple userspace readers want to access the timestamping data for various
> purposes.
>
> One such example is wanting to use a pps out for time synchronization, and
> wanting to timestamp external events with the synchronized time base 
> simultaneously.
>
> Timestmp event consumers on the other hand, are often interested in a subset of
> the available timestamp channels. linuxptp ts2phc, for example, is not happy if
> more than one timestamping channel is active on the device it is reading from.
>
> This patch-set introduces linked lists to support multiple timestamp event queue
> consumers, and timestamp event channel filters through IOCTLs.
>
> Signed-off-by: Xabier Marquiegui <reibax@gmail.com>
> Suggested-by: Richard Cochran <richardcochran@gmail.com>

On the series organization side, my suggestion about the order of things:

1. Any preparation work;
2. Introduce the new UAPI: the ioctls (this needs to be front and center, as it has
   to be maintained for a long time);
3. Changes to the "core" (posix_clock and friends);
4. "glueing" everything together in the driver;
5. Tests;

(it is possible that that the "preparation" can be moved to the
"glueing" part)


Cheers,
Richard Cochran Sept. 30, 2023, 9:38 p.m. UTC | #2
On Thu, Sep 28, 2023 at 03:35:41PM +0200, Xabier Marquiegui wrote:
> On systems with multiple timestamp event channels, there can be scenarios where
> multiple userspace readers want to access the timestamping data for various
> purposes.

This series is shaping up nicely.  Can you please include the diffstat
in the cover letter next time?

(git format-patch should do that for you)

Thanks,
Richard