From: Xabier Marquiegui <reibax@gmail.com>
To: netdev@vger.kernel.org
Cc: richardcochran@gmail.com, tglx@linutronix.de, jstultz@google.com,
horms@kernel.org, chrony-dev@chrony.tuxfamily.org,
mlichvar@redhat.com, reibax@gmail.com, ntp-lists@mattcorallo.com,
vinicius.gomes@intel.com, davem@davemloft.net,
rrameshbabu@nvidia.com, shuah@kernel.org
Subject: [PATCH net-next v5 0/6] ptp: Support for multiple filtered timestamp event queue readers
Date: Mon, 9 Oct 2023 00:49:15 +0200 [thread overview]
Message-ID: <cover.1696804243.git.reibax@gmail.com> (raw)
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, as
well as a debugfs interface to do some simple verifications.
Xabier Marquiegui (6):
posix-clock: introduce posix_clock_context concept
ptp: Replace timestamp event queue with linked list
ptp: support multiple timestamp event readers
ptp: support event queue reader channel masks
ptp: add debugfs interface to see applied channel masks
ptp: add testptp mask test
drivers/ptp/ptp_chardev.c | 129 ++++++++++++++++----
drivers/ptp/ptp_clock.c | 45 ++++++-
drivers/ptp/ptp_private.h | 28 +++--
drivers/ptp/ptp_sysfs.c | 13 +-
include/linux/posix-clock.h | 22 ++--
include/uapi/linux/ptp_clock.h | 2 +
kernel/time/posix-clock.c | 36 ++++--
tools/testing/selftests/ptp/ptpchmaskfmt.sh | 14 +++
tools/testing/selftests/ptp/testptp.c | 19 ++-
9 files changed, 248 insertions(+), 60 deletions(-)
create mode 100644 tools/testing/selftests/ptp/ptpchmaskfmt.sh
Signed-off-by: Xabier Marquiegui <reibax@gmail.com>
Suggested-by: Richard Cochran <richardcochran@gmail.com>
Suggested-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
---
v5:
- fix spelling on commit message
- fix memory leak on ptp_open
v4: https://lore.kernel.org/netdev/cover.1696511486.git.reibax@gmail.com/
- split modifications in different patches for improved organization
- rename posix_clock_user to posix_clock_context
- remove unnecessary flush_users clock operation
- remove unnecessary tests
- simpler queue clean procedure
- fix/clean comment lines
- simplified release procedures
- filter modifications exclusive to currently open instance for
simplicity and security
- expand mask to 2048 channels
- make more secure and simple: mask is only applied to the testptp
instance. Use debugfs to verify effects.
v3: https://lore.kernel.org/netdev/20230928133544.3642650-1-reibax@gmail.com/
- 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/
---
next reply other threads:[~2023-10-08 22:49 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-08 22:49 Xabier Marquiegui [this message]
2023-10-08 22:49 ` [PATCH net-next v5 1/6] posix-clock: introduce posix_clock_context concept Xabier Marquiegui
2023-10-09 2:04 ` Richard Cochran
2023-10-11 22:30 ` Xabier Marquiegui
2023-10-09 14:52 ` Thomas Gleixner
2023-10-08 22:49 ` [PATCH net-next v5 2/6] ptp: Replace timestamp event queue with linked list Xabier Marquiegui
2023-10-08 22:49 ` [PATCH net-next v5 3/6] ptp: support multiple timestamp event readers Xabier Marquiegui
2023-10-08 22:49 ` [PATCH net-next v5 4/6] ptp: support event queue reader channel masks Xabier Marquiegui
2023-10-08 22:49 ` [PATCH net-next v5 5/6] ptp: add debugfs interface to see applied " Xabier Marquiegui
2023-10-10 0:54 ` Jakub Kicinski
2023-10-11 22:36 ` Xabier Marquiegui
2023-10-12 23:37 ` Jakub Kicinski
2023-10-16 8:14 ` Xabier Marquiegui
2023-10-08 22:49 ` [PATCH net-next v5 6/6] ptp: add testptp mask test Xabier Marquiegui
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1696804243.git.reibax@gmail.com \
--to=reibax@gmail.com \
--cc=chrony-dev@chrony.tuxfamily.org \
--cc=davem@davemloft.net \
--cc=horms@kernel.org \
--cc=jstultz@google.com \
--cc=mlichvar@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=ntp-lists@mattcorallo.com \
--cc=richardcochran@gmail.com \
--cc=rrameshbabu@nvidia.com \
--cc=shuah@kernel.org \
--cc=tglx@linutronix.de \
--cc=vinicius.gomes@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).