Netdev List
 help / color / mirror / Atom feed
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);
>>
> 


  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