From: Jacob Keller <jacob.e.keller@intel.com>
To: Przemek Kitszel <przemyslaw.kitszel@intel.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@kernel.org>,
Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>, Petr Oros <poros@redhat.com>,
netdev@vger.kernel.org
Cc: Grzegorz Nitka <grzegorz.nitka@intel.com>,
Aleksandr Loktionov <aleksandr.loktionov@intel.com>,
Alexander Nowlin <alexander.nowlin@intel.com>,
Tony Nguyen <anthony.l.nguyen@intel.com>,
jacob.e.keller@intel.com, maciej.machnikowski@intel.com,
przemyslaw.korba@intel.com, sergey.temerkhanov@intel.com,
arkadiusz.kubalewski@intel.com, richardcochran@gmail.com,
horms@kernel.org
Subject: [PATCH net 0/6] ice: E82x: reduced timestamp processing logic fixes
Date: Tue, 27 Oct 2026 17:05:36 -0700 [thread overview]
Message-ID: <20261027-reduction-v1-0-81237c67a361@intel.com> (raw)
Jake Keller says:
This is a reduced set patches originally posted as part of [1] which
previously passes Sashiko review without comments. It does not completely
resolve the outstanding issues that we had, but can hopefully unblock some
progress.
First, the locking around the PTP ports list in the adapter structure is
converted to use RCU primitives and a spinlock, resolving a couple of
reports from Petr about places where the original list was accessed without
lock protection. Note that an older version of this fix used an xarray
instead of the list. The xarray has more overhead and results in an
increase of ~25 microseconds to the average latency for processing Tx
timestamps. The list is simpler and avoids this overhead.
Next, the ice_ptp_request_ts() function is updated to sequence the marking
of the in_use bitmap in order to work properly with the lockless reader in
the IRQ thread. This issue was reported by Sashiko during development.
Next, Przemyslaw Korba fixes the E822 timestamping logic to keep timestamp
requests disabled until Vernier calibration completes.
Next, the driver is modified to stop clearing the PHY_REG_TX_OFFSET_READY
bit. This bits only purpose is to tell hardware to mark any captured
timestamps as invalid. Since this also disables the necessary side effects
on read it is problematic to have cleared. According to hardware engineers,
keeping it enabled should not have any other side effects. Instead, the
tx.disabled field is used to disable new timestamps from software in a
similar manner to the older E822 devices.
Next, the driver is modified to clear the PHY_REG_TX_MEMORY_STATUS by
reading each index *prior* to the PHY soft reset. This ensures that any
stale or invalid data left in the memory array is cleared, followed by the
counter being reset via the PHY soft reset procedure.
Finally, the ice_ptp_process_tx_tstamp() function is modified to skip
unnecessarily checking the ready bitmap for ports which do not have active
timestamp requests.
I plan to rework and follow up the remaining patches from the original
series after this lands.
[1]: https://lore.kernel.org/netdev/710677e5-3668-4588-bd36-2d8f7fb692a9@intel.com/
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
---
Sashiko previously had no complaints about the SRCU changes on the port
list. I suspect it may now complain about some invalid accesses due to the
error cleanup flows in the reset or failure. I believe those should be
considered pre-existing issues and not block this reduced series.
---
Jacob Keller (5):
ice: use reference counting and SRCU for PTP port access
ice: set in_use only after preparing Tx timestamp index
ice: E825: stop clearing PHY_REG_TX_OFFSET_READY
ice: E825: clear PHY_TSTAMP memory prior to soft reset
ice: skip reading Tx ready bitmap on ports with no timestamps
Karol Kolacinski (1):
ice: E822: keep Tx timestamps disabled during offset calibration
drivers/net/ethernet/intel/ice/ice_adapter.h | 17 ++-
drivers/net/ethernet/intel/ice/ice_ptp.h | 11 +-
drivers/net/ethernet/intel/ice/ice_ptp_hw.h | 2 +-
drivers/net/ethernet/intel/ice/ice_adapter.c | 17 ++-
drivers/net/ethernet/intel/ice/ice_ptp.c | 218 ++++++++++++++++++++-------
drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 143 ++++++++++--------
6 files changed, 275 insertions(+), 133 deletions(-)
---
base-commit: abeacca61eea4f6803df4a595b656ea45c2d3249
base-tree: git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git main
change-id: 20261027-reduction-fe6ac6f36cb2
Best regards,
--
Jacob Keller <jacob.e.keller@intel.com>
next reply other threads:[~2026-10-28 0:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-28 0:05 Jacob Keller [this message]
2026-10-28 0:05 ` [PATCH net 1/6] ice: use reference counting and SRCU for PTP port access Jacob Keller
2026-10-28 0:05 ` [PATCH net 2/6] ice: set in_use only after preparing Tx timestamp index Jacob Keller
2026-10-28 0:05 ` [PATCH net 3/6] ice: E822: keep Tx timestamps disabled during offset calibration Jacob Keller
2026-10-28 0:05 ` [PATCH net 4/6] ice: E825: stop clearing PHY_REG_TX_OFFSET_READY Jacob Keller
2026-10-29 0:53 ` netdev-bot+sashiko
2026-10-29 1:08 ` Jakub Kicinski
2026-10-28 0:05 ` [PATCH net 5/6] ice: E825: clear PHY_TSTAMP memory prior to soft reset Jacob Keller
2026-10-29 0:53 ` netdev-bot+sashiko
2026-10-28 0:05 ` [PATCH net 6/6] ice: skip reading Tx ready bitmap on ports with no timestamps Jacob Keller
2026-10-28 0:10 ` [PATCH net 0/6] ice: E82x: reduced timestamp processing logic fixes netdev-bot+sinfo
2026-10-29 1:20 ` patchwork-bot+netdevbpf
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=20261027-reduction-v1-0-81237c67a361@intel.com \
--to=jacob.e.keller@intel.com \
--cc=aleksandr.loktionov@intel.com \
--cc=alexander.nowlin@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=anthony.l.nguyen@intel.com \
--cc=arkadiusz.kubalewski@intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@kernel.org \
--cc=grzegorz.nitka@intel.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=maciej.machnikowski@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=poros@redhat.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=przemyslaw.korba@intel.com \
--cc=richardcochran@gmail.com \
--cc=sergey.temerkhanov@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.