From: Bastien Curutchet <bastien.curutchet@bootlin.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: "Woojung Huh" <woojung.huh@microchip.com>,
UNGLinuxDriver@microchip.com, "Andrew Lunn" <andrew@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Richard Cochran" <richardcochran@gmail.com>,
"Simon Horman" <horms@kernel.org>,
"Pascal Eberhard" <pascal.eberhard@se.com>,
"Miquèl Raynal" <miquel.raynal@bootlin.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v4 8/8] net: dsa: microchip: Add two-step PTP support for KSZ8463
Date: Wed, 18 Feb 2026 17:42:32 +0100 [thread overview]
Message-ID: <983ba1c7-06d9-4474-ac6f-ef3878b31436@bootlin.com> (raw)
In-Reply-To: <20260218152551.vnqr7bl7yfrymrke@skbuf>
On 2/18/26 4:25 PM, Vladimir Oltean wrote:
> On Wed, Feb 18, 2026 at 04:21:26PM +0100, Bastien Curutchet wrote:
>>> You need to set port->last_tx_is_pdelayresp in the atomic section where
>>> you know for sure that there's a single TX timestampable skb in flight.
>>> There's no explicit lock which creates that atomic section, but the fact
>>> that the worker kthread of the tagger processes work items one by one is
>>> what gives you that guarantee.
>>
>> Thank you for the explanations. I suspected a race condition here but I
>> didn't know how to mitigate it. I tested a new version on my side with
>> port->last_tx_is_pdelayresp set in the ksz_port_deferred_xmit() worker and
>> it works fine.
>
> Good.
>
> Next question: if the logic is all in ksz_port_deferred_xmit(), which is
> sleepable and sends packets one by one, do you actually need to save the
> packet type in port->last_tx_is_pdelayresp? Can't you just keep a local
> variable with it?
Well, I think I could but it feels like a significant rework of the
existing implementation. So far the register location is tied to the
struct ksz_ptp_irq, since on all the other switches one interrupt bit is
associated with one timestamp only. In fact, even on the KSZ8463 the
same logic applies because there are two interrupt bits per port: one
for the sync messages and one for the pdelay_req / pdelay_resp messages.
If I'm not mistaken, using a local variable here would mean moving the
timestamp reading from ksz_ptp_msg_thread_fn() to
ksz_port_deferred_xmit(). We would then need to check the type of each
packet before sending it, in order to know where to read the timestamp
after wait_for_completion() returns.
Best regards,
Bastien
next prev parent reply other threads:[~2026-02-18 16:42 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-27 9:06 [PATCH net-next v4 0/8] net: dsa: microchip: Add PTP support for the KSZ8463 Bastien Curutchet (Schneider Electric)
2026-01-27 9:06 ` [PATCH net-next v4 1/8] net: dsa: microchip: Add support for KSZ8463 global irq Bastien Curutchet (Schneider Electric)
2026-01-27 19:42 ` Maxime Chevallier
2026-01-28 3:03 ` Jakub Kicinski
2026-01-28 9:22 ` Bastien Curutchet
2026-01-27 9:06 ` [PATCH net-next v4 2/8] net: dsa: microchip: Decorrelate IRQ domain from port Bastien Curutchet (Schneider Electric)
2026-01-27 9:06 ` [PATCH net-next v4 3/8] net: dsa: microchip: Decorrelate msg_irq index from IRQ bit offset Bastien Curutchet (Schneider Electric)
2026-01-27 9:06 ` [PATCH net-next v4 4/8] net: dsa: microchip: Add support for KSZ8463's PTP interrupts Bastien Curutchet (Schneider Electric)
2026-01-27 9:06 ` [PATCH net-next v4 5/8] net: dsa: microchip: Add KSZ8463 tail tag handling Bastien Curutchet (Schneider Electric)
2026-01-30 4:15 ` Jakub Kicinski
2026-02-18 9:35 ` Bastien Curutchet
2026-02-02 13:29 ` Vladimir Oltean
2026-02-18 9:36 ` Bastien Curutchet
2026-01-27 9:06 ` [PATCH net-next v4 6/8] net: dsa: microchip: Enable Ethernet PTP detection Bastien Curutchet (Schneider Electric)
2026-01-30 4:17 ` Jakub Kicinski
2026-01-30 5:16 ` Tristram.Ha
2026-02-18 10:22 ` Bastien Curutchet
2026-01-27 9:06 ` [PATCH net-next v4 7/8] net: dsa: microchip: Adapt port offset for KSZ8463's PTP register Bastien Curutchet (Schneider Electric)
2026-01-27 9:06 ` [PATCH net-next v4 8/8] net: dsa: microchip: Add two-step PTP support for KSZ8463 Bastien Curutchet (Schneider Electric)
2026-02-02 13:43 ` Vladimir Oltean
2026-02-18 15:21 ` Bastien Curutchet
2026-02-18 15:25 ` Vladimir Oltean
2026-02-18 16:42 ` Bastien Curutchet [this message]
2026-02-18 16:47 ` Vladimir Oltean
2026-02-18 16:49 ` Bastien Curutchet
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=983ba1c7-06d9-4474-ac6f-ef3878b31436@bootlin.com \
--to=bastien.curutchet@bootlin.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miquel.raynal@bootlin.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=pascal.eberhard@se.com \
--cc=richardcochran@gmail.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=woojung.huh@microchip.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
all inboxes | Powered by JetHome®