mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net v5 0/5] ptp: make virtual clock sampling and teardown failure-safe
@ 2026-10-22 15:16 James Hilliard
  2026-10-22 15:16 ` [PATCH net v5 1/5] ptp: drain virtual clock sysfs operations before unregistering children James Hilliard
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: James Hilliard @ 2026-10-22 15:16 UTC (permalink / raw)
  To: netdev, Paolo Abeni, Jakub Kicinski, Richard Cochran,
	Andrew Lunn, Yangbo Lu, Miroslav Lichvar
  Cc: Eric Dumazet, David S. Miller, linux-kernel, Vadim Fedorenko,
	James Hilliard

Fix virtual-clock sampling errors, registration rollback and parent
teardown in separate patches. Keep failed PHC reads out of the timecounter
and serialize extended samples with virtual-clock adjustments. Also
preserve the zero sentinel for packets without hardware timestamps.

Retain the existing cyclecounter mask, scaling and conversion windows.
Retry the first failed refresh promptly, then back off consecutive failures
up to the normal refresh interval. Queue the first refresh immediately
after registration. Prolonged sampling gaps remain subject to the existing
half-wrap conversion window and full-wrap sampling limit.

Changes in v5:
- Replace the fixed 10 ms failure retry with per-clock exponential backoff,
  starting at 10 ms and capped at the normal two-second interval. Reset
  the retry state after a successful refresh, following Sashiko's report
  and Paolo Abeni's review.
- Report: https://lore.kernel.org/r/179245576913.3135.17393378308394380121@kernel.org
- Rebase onto current net.
- Link to v4: https://patch.msgid.link/20261015-ptp-vclock-sampling-v4-0-cba6ffc8ceb6@gmail.com

Changes in v4:
- Retry failed refreshes after 10 ms, keeping the normal two-second
  interval after success.
- Queue the first refresh immediately after registration, while keeping
  counter initialization before publication.
- Clarify the half-wrap conversion window and full-wrap sampling limit.
- Document the zero-input return from ptp_convert_timestamp().
- Add Vadim Fedorenko's Reviewed-by tags to patches 1 and 5.
- Rebase onto current net.
- Link to v3: https://patch.msgid.link/20261013-ptp-vclock-sampling-v3-0-d3ee4ea62fc6@gmail.com

Changes in v3:
- Split the independent fixes into separate patches, as requested by Paolo.
- Retain the existing timecounter arithmetic and conversion windows; drop
  the full-width rewrite and extended-read anchor updates from v2.
- Propagate registration errors through sysfs, including a failed initial
  PHC sample, and initialize the counter before publishing the clock.
- Preserve absent hardware timestamps instead of converting zero.
- Correct the sysfs teardown rationale and its Fixes tag.
- Rebase onto current net.
- Link to v2: https://patch.msgid.link/20261005-ptp-vclock-sampling-v2-0-8ed12d4d10af@gmail.com

Changes in v2:
- Drain virtual clock sysfs changes before parent unregister walks children.
- Use full-width samples and overflow-safe scaling across long sampling gaps.
- Update the anchor for extended and cross-timestamp reads under the clock lock.
- Link to v1: https://patch.msgid.link/20260930-ptp-vclock-sampling-v1-1-c11bc16691ae@gmail.com

Assisted-by: Codex:gpt-6-astra
---
James Hilliard (5):
      ptp: drain virtual clock sysfs operations before unregistering children
      ptp: unwind partially completed virtual clock creation
      ptp: vclock: propagate physical clock sampling errors
      ptp: vclock: serialize extended samples with counter updates
      ptp: vclock: preserve missing hardware timestamps

 drivers/ptp/ptp_clock.c          |   5 ++
 drivers/ptp/ptp_private.h        |   5 +-
 drivers/ptp/ptp_sysfs.c          |  18 +++++-
 drivers/ptp/ptp_vclock.c         | 117 ++++++++++++++++++++++++++-------------
 include/linux/ptp_clock_kernel.h |   2 +-
 5 files changed, 104 insertions(+), 43 deletions(-)
---
base-commit: f4377bf85887f57b59abb5479f7660a81ffe4449
change-id: 20260930-ptp-vclock-sampling-902f98408c93

Best regards,
--  
James Hilliard <james.hilliard1@gmail.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-10-22 15:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-22 15:16 [PATCH net v5 0/5] ptp: make virtual clock sampling and teardown failure-safe James Hilliard
2026-10-22 15:16 ` [PATCH net v5 1/5] ptp: drain virtual clock sysfs operations before unregistering children James Hilliard
2026-10-22 15:16 ` [PATCH net v5 2/5] ptp: unwind partially completed virtual clock creation James Hilliard
2026-10-22 15:16 ` [PATCH net v5 3/5] ptp: vclock: propagate physical clock sampling errors James Hilliard
2026-10-22 15:16 ` [PATCH net v5 4/5] ptp: vclock: serialize extended samples with counter updates James Hilliard
2026-10-22 15:16 ` [PATCH net v5 5/5] ptp: vclock: preserve missing hardware timestamps James Hilliard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®