linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rahul Rameshbabu <rrameshbabu@nvidia.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: "Köry Maincent" <kory.maincent@bootlin.com>,
	"Florian Fainelli" <florian.fainelli@broadcom.com>,
	"Broadcom internal kernel review list"
	<bcm-kernel-feedback-list@broadcom.com>,
	"Andrew Lunn" <andrew@lunn.ch>,
	"Heiner Kallweit" <hkallweit1@gmail.com>,
	"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>,
	"Radu Pirea" <radu-nicolae.pirea@oss.nxp.com>,
	"Jay Vosburgh" <j.vosburgh@gmail.com>,
	"Andy Gospodarek" <andy@greyhouse.net>,
	"Nicolas Ferre" <nicolas.ferre@microchip.com>,
	"Claudiu Beznea" <claudiu.beznea@tuxon.dev>,
	"Willem de Bruijn" <willemdebruijn.kernel@gmail.com>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Horatiu Vultur" <horatiu.vultur@microchip.com>,
	UNGLinuxDriver@microchip.com, "Simon Horman" <horms@kernel.org>,
	"Vladimir Oltean" <vladimir.oltean@nxp.com>,
	"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org,
	"Maxime Chevallier" <maxime.chevallier@bootlin.com>
Subject: Re: [PATCH RFC net-next v8 04/13] net: Change the API of PHY default timestamp to MAC
Date: Tue, 20 Feb 2024 12:39:19 -0800	[thread overview]
Message-ID: <87v86iamiy.fsf@nvidia.com> (raw)
In-Reply-To: <ZdN9pPf3wXwE/9nX@shell.armlinux.org.uk>


On Mon, 19 Feb, 2024 16:11:16 +0000 "Russell King (Oracle)" <linux@armlinux.org.uk> wrote:
> On Mon, Feb 19, 2024 at 02:29:36PM +0100, Köry Maincent wrote:
>> On Fri, 16 Feb 2024 10:09:36 -0800
>> Rahul Rameshbabu <rrameshbabu@nvidia.com> wrote:
>> 
>> > On Fri, 16 Feb, 2024 16:52:22 +0100 Kory Maincent <kory.maincent@bootlin.com>
>> > wrote:
>> > > Change the API to select MAC default time stamping instead of the PHY.
>> > > Indeed the PHY is closer to the wire therefore theoretically it has less
>> > > delay than the MAC timestamping but the reality is different. Due to lower
>> > > time stamping clock frequency, latency in the MDIO bus and no PHC hardware
>> > > synchronization between different PHY, the PHY PTP is often less precise
>> > > than the MAC. The exception is for PHY designed specially for PTP case but
>> > > these devices are not very widespread. For not breaking the compatibility
>> > > default_timestamp flag has been introduced in phy_device that is set by
>> > > the phy driver to know we are using the old API behavior.
>> > >
>> > > Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
>> > > ---  
>> > 
>> > Overall, I agree with the motivation and reasoning behind the patch. It
>> > takes dedicated effort to build a good phy timestamping mechanism, so
>> > this approach is good. I do have a question though. In this patch if we
>> > set the phy as the default timestamp mechanism, does that mean for even
>> > non-PTP applications, the phy will be used for timestamping when
>> > hardware timestamping is enabled? If so, I think this might need some
>> > thought because there are timing applications in general when a
>> > timestamp closest to the MAC layer would be best.
>> 
>> This patch comes from a request from Russell due to incompatibility between MAC
>> and PHY timestamping when both were supported.
>> https://lore.kernel.org/netdev/Y%2F4DZIDm1d74MuFJ@shell.armlinux.org.uk/
>> 
>> His point was adding PTP support to a PHY driver would select timestamp from it
>> by default even if we had a better timestamp with the MAC which is often the
>> case. This is an unwanted behavior.
>> https://lore.kernel.org/netdev/Y%2F6Cxf6EAAg22GOL@shell.armlinux.org.uk/

Thanks for providing the additional context. This was helpful. Btw, I
absolutely agree that all PHYs should not be defaulted to for
timestamping applications. At best, a driver implementer can select that
the PHY will primarily be used in timestamping applications that benefit
from it doing the timestamp work (which is what this patch does).

>>
>> In fact, with the new support of NDOs hwtstamp and the
>> dev_get/set_hwtstamp_phylib functions, alongside this series which make
>> timestamp selectable, changing the default timestamp may be not necessary
>> anymore.
>> 
>> Russell any thought about it? 
>
> My position remains: in the case of Marvell PP2 network driver with a
> Marvell PHY, when we add PTP support for the Marvell PHYs (I have
> patches for it for years) then we must _not_ regress the existing
> setup where the PP2 timestamps are the default.

I agree 100% that the previous default of the PP2 (DMA) timestamps for
the Marvell PP2 network driver should not break from this work. We
similarly would not want the same in mlx5 in general (today the default
is DMA timestamping except for PTP traffic which we have selection rules
based on the packet). This patch is essentially to avoid all PHYs
starting to default to being the timestamping source which I agree with.
I guess Kory explicitly defaulted PHYs that were used primarily for PTP
applications/timestamping applications that primarily benefit from the
PHY timestamp. With this, I think it's safe to say that I agree with
this patch personally.

Reviewed-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>

  parent reply	other threads:[~2024-02-20 20:50 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-16 15:52 [PATCH RFC net-next v8 00/13] net: Make timestamping selectable Kory Maincent
2024-02-16 15:52 ` [PATCH RFC net-next v8 01/13] net_tstamp: Add TIMESTAMPING SOFTWARE and HARDWARE mask Kory Maincent
2024-02-16 18:43   ` Florian Fainelli
2024-02-16 15:52 ` [PATCH RFC net-next v8 02/13] net: Make dev_get_hwtstamp_phylib accessible Kory Maincent
2024-02-16 18:44   ` Florian Fainelli
2024-02-16 15:52 ` [PATCH RFC net-next v8 03/13] net: Make net_hwtstamp_validate accessible Kory Maincent
2024-02-16 18:44   ` Florian Fainelli
2024-02-16 15:52 ` [PATCH RFC net-next v8 04/13] net: Change the API of PHY default timestamp to MAC Kory Maincent
2024-02-16 18:09   ` Rahul Rameshbabu
2024-02-17 17:07     ` Andrew Lunn
2024-02-17 21:05       ` Rahul Rameshbabu
2024-02-17 22:10         ` Andrew Lunn
2024-02-20 20:17           ` Rahul Rameshbabu
2024-02-19 13:29     ` Köry Maincent
2024-02-19 16:11       ` Russell King (Oracle)
2024-02-20 16:20         ` Köry Maincent
2024-02-20 20:39         ` Rahul Rameshbabu [this message]
2024-02-16 18:52   ` Florian Fainelli
2024-02-16 15:52 ` [PATCH RFC net-next v8 05/13] net: net_tstamp: Add unspec field to hwtstamp_source enumeration Kory Maincent
2024-02-16 15:52 ` [PATCH RFC net-next v8 06/13] net: Add struct kernel_ethtool_ts_info Kory Maincent
2024-02-16 18:27   ` Rahul Rameshbabu
2024-02-19 10:57     ` Köry Maincent
2024-02-16 15:52 ` [PATCH RFC net-next v8 07/13] ptp: Move from simple ida to xarray Kory Maincent
2024-02-16 15:52 ` [PATCH RFC net-next v8 08/13] ptp: Add phc source and helpers to register specific PTP clock or get information Kory Maincent
2024-02-16 15:52 ` [PATCH RFC net-next v8 09/13] net: Add the possibility to support a selected hwtstamp in netdevice Kory Maincent
2024-02-16 15:52 ` [PATCH RFC net-next v8 10/13] net: netdevsim: ptp_mock: Convert to netdev_ptp_clock_register Kory Maincent
2024-02-16 19:48   ` Rahul Rameshbabu
2024-02-16 15:52 ` [PATCH RFC net-next v8 11/13] net: macb: " Kory Maincent
2024-02-16 15:52 ` [PATCH RFC net-next v8 12/13] net: ethtool: tsinfo: Add support for hwtstamp provider and get/set hwtstamp config Kory Maincent
2024-02-16 15:52 ` [PATCH RFC net-next v8 13/13] netlink: specs: tsinfo: Enhance netlink attributes and add a set command Kory Maincent

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=87v86iamiy.fsf@nvidia.com \
    --to=rrameshbabu@nvidia.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=andrew@lunn.ch \
    --cc=andy@greyhouse.net \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=claudiu.beznea@tuxon.dev \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=florian.fainelli@broadcom.com \
    --cc=hkallweit1@gmail.com \
    --cc=horatiu.vultur@microchip.com \
    --cc=horms@kernel.org \
    --cc=j.vosburgh@gmail.com \
    --cc=kory.maincent@bootlin.com \
    --cc=kuba@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=maxime.chevallier@bootlin.com \
    --cc=netdev@vger.kernel.org \
    --cc=nicolas.ferre@microchip.com \
    --cc=pabeni@redhat.com \
    --cc=radu-nicolae.pirea@oss.nxp.com \
    --cc=richardcochran@gmail.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=vladimir.oltean@nxp.com \
    --cc=willemdebruijn.kernel@gmail.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;
as well as URLs for NNTP newsgroup(s).