From: Jacob Keller <jacob.e.keller@intel.com>
To: <netdev-bot+sashiko@kernel.org>, <anthony.l.nguyen@intel.com>
Cc: <davem@davemloft.net>, <kuba@kernel.org>, <pabeni@redhat.com>,
<edumazet@kernel.org>, <andrew+netdev@lunn.ch>,
<netdev@vger.kernel.org>, <maciej.machnikowski@intel.com>,
<przemyslaw.korba@intel.com>, <grzegorz.nitka@intel.com>,
<sergey.temerkhanov@intel.com>, <arkadiusz.kubalewski@intel.com>,
<poros@redhat.com>, <richardcochran@gmail.com>,
<horms@kernel.org>, <pmenzel@molgen.mpg.de>,
<aleksandr.loktionov@intel.com>, <alexander.nowlin@intel.com>
Subject: Re: [PATCH net v2 07/15] ice: E822: cancel offset verification work during reset preparation
Date: Tue, 13 Oct 2026 15:07:00 -0700 [thread overview]
Message-ID: <8efa6c68-9560-4773-b60f-4a2da88f650b@intel.com> (raw)
In-Reply-To: <179184692414.434549.12037498977381126452@kernel.org>
On 10/12/2026 4:15 PM, netdev-bot+sashiko@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential
> issue(s) to consider.
>
> Critical: 0 · High: 0 · Medium: 1 · Low: 0
>
> If you believe none of the issues are legitimate, please reply to each
> issue of Medium severity or higher and explain why the AI is wrong.
> If any of them are legitimate and you plan to respin, please let patchwork
> know by including "pw-bot: cr" as a separate line at the end of your reply
> (one such reply per series is enough).
>
> - [Medium] The commit message gives a false reason for leaving PF resets
> out of the new cancellation.
>
> --
>
> ice: E822: cancel offset verification work during reset preparation
>
> This patch cancels the E822 offset verification work (ov_work) in
> ice_ptp_prepare_for_reset() for CORE, GLOBAL and EMP resets, so the
> work does not keep polling while the PHY is restarted. PF resets
> return early and skip the cancel. The commit message says this is
> because nothing else would restart the task after a PF reset.
>
>> The larger resets will restart the PHY, canceling any outstanding vernier
>> calibration and forcing a restart. Preemptively cancel the task for non-PF
>> resets to avoid doing unnecessary checks while resetting. The task is not
>> canceled for a PF reset, otherwise nothing would restart the task to finish
>> vernier calibration after the reset.
>
> [ ... ]
>
>> diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
>> index 7f82439c47ee5..7cc151b01a13e 100644
>> --- a/drivers/net/ethernet/intel/ice/ice_ptp.c
>> +++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
>> @@ -3006,6 +3006,9 @@ void ice_ptp_prepare_for_reset(struct ice_pf *pf, enum ice_reset_req reset_type)
>> if (reset_type == ICE_RESET_PFR)
>> return;
>>
>> + if (hw->mac_type == ICE_MAC_GENERIC)
>> + kthread_cancel_delayed_work_sync(&ptp->port.ov_work);
>> +
>
> [Severity: Medium]
> Is the statement "nothing would restart the task to finish vernier
> calibration after the reset" accurate for this tree?
>
> Near the end of ice_rebuild(), ice_ptp_link_change() is called for
> every reset type, PF reset included:
>
> drivers/net/ethernet/intel/ice/ice_main.c:ice_rebuild() {
> ...
> if (test_bit(ICE_FLAG_PTP_SUPPORTED, pf->flags) && pf->hw.port_info) {
> bool link_up;
>
> link_up = !!(pf->hw.port_info->phy.link_info.link_info &
> ICE_AQ_LINK_UP);
> ice_ptp_link_change(pf, link_up);
> }
> ...
> }
>
> ice_misc_intr() sets hw->reset_ongoing only on the OICR path for
> CORER/GLOBR/EMPR. For a PF reset, ice_ptp_link_change() therefore does
> not skip the hardware writes. On ICE_MAC_GENERIC it reaches
> ice_ptp_port_phy_restart(), which cancels ov_work and queues it again:
>
> drivers/net/ethernet/intel/ice/ice_ptp.c:ice_ptp_port_phy_restart() {
> ...
> case ICE_MAC_GENERIC:
> /* Start the PHY timer in Vernier mode */
> kthread_cancel_delayed_work_sync(&ptp_port->ov_work);
> ...
> kthread_queue_delayed_work(pf->ptp.kworker, &ptp_port->ov_work,
> 0);
> break;
> ...
> }
>
> When the link is down, the same function calls ice_ptp_port_phy_stop()
> instead, which also cancels ov_work.
>
> The call chain for a PF reset looks like this:
>
> ice_do_reset(PFR)->ice_rebuild()->ice_ptp_link_change()
> ->ice_ptp_port_phy_restart()
>
> If that is right, cancelling ov_work for PF resets would also be safe.
> With the early ICE_RESET_PFR return placed before the new cancel, PF
> resets still go through the 100 ms reschedule loop in
> ice_ptp_wait_for_offsets(), because ICE_PFR_REQ makes
> ice_is_reset_in_progress() return true.
>
> Could the cancel be moved above the PFR early return? If not, could the
> commit message give the actual reason for exempting PF resets?
>
I can move the cancel and update the commit message.
>> if (ice_pf_src_tmr_owned(pf) && hw->mac_type == ICE_MAC_GENERIC_3K_E825)
>> ice_ptp_prepare_rebuild_sec(pf, false, reset_type);
>>
>
next prev parent reply other threads:[~2026-10-13 22:07 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-08 21:55 [PATCH net v2 00/15][pull request] ice: E82x: timestamp processing logic fixes Tony Nguyen
2026-10-08 21:55 ` [PATCH net v2 01/15] ice: fix removal of PTP timestamp tracker during reset Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 21:31 ` Jacob Keller
2026-10-08 21:55 ` [PATCH net v2 02/15] ice: use reference counting and SRCU for PTP port access Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 21:41 ` Jacob Keller
2026-10-08 21:56 ` [PATCH net v2 03/15] ice: fix PHY port restart serialization Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 21:43 ` Jacob Keller
2026-10-08 21:56 ` [PATCH net v2 04/15] ice: set in_use only after preparing Tx timestamp index Tony Nguyen
2026-10-08 21:56 ` [PATCH net v2 05/15] ice: call PTP link change only from link events Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 21:58 ` Jacob Keller
2026-10-08 21:56 ` [PATCH net v2 06/15] ice: E822: keep Tx timestamps disabled during offset calibration Tony Nguyen
2026-10-08 21:56 ` [PATCH net v2 07/15] ice: E822: cancel offset verification work during reset preparation Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 22:07 ` Jacob Keller [this message]
2026-10-08 21:56 ` [PATCH net v2 08/15] ice: E825: stop clearing PHY_REG_TX_OFFSET_READY Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 22:08 ` Jacob Keller
2026-10-08 21:56 ` [PATCH net v2 09/15] ice: E825: clear PHY_REG_TX_MEMORY_STATUS prior to soft reset Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 22:11 ` Jacob Keller
2026-10-08 21:56 ` [PATCH net v2 10/15] ice: E825: perform a soft reset when starting the PHY timer Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 22:32 ` Jacob Keller
2026-10-08 21:56 ` [PATCH net v2 11/15] ice: wait for in-flight Tx timestamps before flushing the tracker Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 22:39 ` Jacob Keller
2026-10-08 21:56 ` [PATCH net v2 12/15] ice: keep Tx timestamp slots tracked until completion or timeout Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 22:44 ` Jacob Keller
2026-10-08 21:56 ` [PATCH net v2 13/15] ice: skip reading Tx ready bitmap on ports with no timestamps Tony Nguyen
2026-10-08 21:56 ` [PATCH net v2 14/15] ice: don't clear in_use until HW clears ready bitmap Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 22:59 ` Jacob Keller
2026-10-08 21:56 ` [PATCH net v2 15/15] ice: Recalibrate PHY after settime64 on E825-C Tony Nguyen
2026-10-12 23:15 ` netdev-bot+sashiko
2026-10-13 23:04 ` Jacob Keller
2026-10-14 0:59 ` Jacob Keller
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=8efa6c68-9560-4773-b60f-4a2da88f650b@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-bot+sashiko@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pmenzel@molgen.mpg.de \
--cc=poros@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox