From: Simon Horman <horms@kernel.org>
To: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Cc: Jacob Keller <jacob.e.keller@intel.com>,
netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org,
Wojciech Drewek <wojciech.drewek@intel.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v7 08/12] iavf: periodically cache PHC time
Date: Sat, 8 Jun 2024 13:59:20 +0100 [thread overview]
Message-ID: <20240608125920.GA27689@kernel.org> (raw)
In-Reply-To: <20240604131400.13655-9-mateusz.polchlopek@intel.com>
On Tue, Jun 04, 2024 at 09:13:56AM -0400, Mateusz Polchlopek wrote:
> From: Jacob Keller <jacob.e.keller@intel.com>
>
> The Rx timestamps reported by hardware may only have 32 bits of storage
> for nanosecond time. These timestamps cannot be directly reported to the
> Linux stack, as it expects 64bits of time.
>
> To handle this, the timestamps must be extended using an algorithm that
> calculates the corrected 64bit timestamp by comparison between the PHC
> time and the timestamp. This algorithm requires the PHC time to be
> captured within ~2 seconds of when the timestamp was captured.
>
> Instead of trying to read the PHC time in the Rx hotpath, the algorithm
> relies on a cached value that is periodically updated.
>
> Keep this cached time up to date by using the PTP .do_aux_work kthread
> function.
>
> The iavf_ptp_do_aux_work will reschedule itself about twice a second,
> and will check whether or not the cached PTP time needs to be updated.
> If so, it issues a VIRTCHNL_OP_1588_PTP_GET_TIME to request the time
> from the PF. The jitter and latency involved with this command aren't
> important, because the cached time just needs to be kept up to date
> within about ~2 seconds.
>
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
> Co-developed-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
> Signed-off-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
WARNING: multiple messages have this Message-ID (diff)
From: Simon Horman <horms@kernel.org>
To: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
Jacob Keller <jacob.e.keller@intel.com>,
Wojciech Drewek <wojciech.drewek@intel.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v7 08/12] iavf: periodically cache PHC time
Date: Sat, 8 Jun 2024 13:59:20 +0100 [thread overview]
Message-ID: <20240608125920.GA27689@kernel.org> (raw)
In-Reply-To: <20240604131400.13655-9-mateusz.polchlopek@intel.com>
On Tue, Jun 04, 2024 at 09:13:56AM -0400, Mateusz Polchlopek wrote:
> From: Jacob Keller <jacob.e.keller@intel.com>
>
> The Rx timestamps reported by hardware may only have 32 bits of storage
> for nanosecond time. These timestamps cannot be directly reported to the
> Linux stack, as it expects 64bits of time.
>
> To handle this, the timestamps must be extended using an algorithm that
> calculates the corrected 64bit timestamp by comparison between the PHC
> time and the timestamp. This algorithm requires the PHC time to be
> captured within ~2 seconds of when the timestamp was captured.
>
> Instead of trying to read the PHC time in the Rx hotpath, the algorithm
> relies on a cached value that is periodically updated.
>
> Keep this cached time up to date by using the PTP .do_aux_work kthread
> function.
>
> The iavf_ptp_do_aux_work will reschedule itself about twice a second,
> and will check whether or not the cached PTP time needs to be updated.
> If so, it issues a VIRTCHNL_OP_1588_PTP_GET_TIME to request the time
> from the PF. The jitter and latency involved with this command aren't
> important, because the cached time just needs to be kept up to date
> within about ~2 seconds.
>
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
> Co-developed-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
> Signed-off-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
next prev parent reply other threads:[~2024-06-08 12:59 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-04 13:13 [Intel-wired-lan] [PATCH iwl-next v7 00/12] Add support for Rx timestamping for both ice and iavf drivers Mateusz Polchlopek
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 01/12] virtchnl: add support for enabling PTP on iAVF Mateusz Polchlopek
2024-06-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:55 ` Simon Horman
2024-06-08 12:55 ` Simon Horman
2024-06-10 10:18 ` Mateusz Polchlopek
2024-06-10 10:18 ` Mateusz Polchlopek
2024-06-10 18:35 ` Jacob Keller
2024-06-10 18:35 ` Jacob Keller
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 02/12] ice: support Rx timestamp on flex descriptor Mateusz Polchlopek
2024-06-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:56 ` Simon Horman
2024-06-08 12:56 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 03/12] virtchnl: add enumeration for the rxdid format Mateusz Polchlopek
2024-06-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:57 ` Simon Horman
2024-06-08 12:57 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 04/12] iavf: add support for negotiating flexible RXDID format Mateusz Polchlopek
2024-06-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:56 ` Simon Horman
2024-06-08 12:56 ` Simon Horman
2024-06-08 12:58 ` Simon Horman
2024-06-08 12:58 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 05/12] iavf: negotiate PTP capabilities Mateusz Polchlopek
2024-06-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:58 ` Simon Horman
2024-06-08 12:58 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 06/12] iavf: add initial framework for registering PTP clock Mateusz Polchlopek
2024-06-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:58 ` Simon Horman
2024-06-08 12:58 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 07/12] iavf: add support for indirect access to PHC time Mateusz Polchlopek
2024-06-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman
2024-06-08 12:59 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 08/12] iavf: periodically cache " Mateusz Polchlopek
2024-06-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman [this message]
2024-06-08 12:59 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 09/12] iavf: refactor iavf_clean_rx_irq to support legacy and flex descriptors Mateusz Polchlopek
2024-06-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman
2024-06-08 12:59 ` Simon Horman
2024-06-11 11:47 ` Alexander Lobakin
2024-06-11 11:47 ` Alexander Lobakin
2024-06-11 20:52 ` Jacob Keller
2024-06-11 20:52 ` Jacob Keller
2024-06-12 11:51 ` Przemek Kitszel
2024-06-12 11:51 ` Przemek Kitszel
2024-06-12 12:33 ` Alexander Lobakin
2024-06-12 12:33 ` Alexander Lobakin
2024-06-21 14:21 ` Alexander Lobakin
2024-06-21 14:21 ` Alexander Lobakin
2024-06-21 15:08 ` Tony Nguyen
2024-06-21 15:08 ` Tony Nguyen
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 10/12] iavf: Implement checking DD desc field Mateusz Polchlopek
2024-06-04 13:13 ` Mateusz Polchlopek
2024-06-08 12:59 ` Simon Horman
2024-06-08 12:59 ` Simon Horman
2024-06-04 13:13 ` [Intel-wired-lan] [PATCH iwl-next v7 11/12] iavf: handle set and get timestamps ops Mateusz Polchlopek
2024-06-04 13:13 ` Mateusz Polchlopek
2024-06-08 13:00 ` Simon Horman
2024-06-08 13:00 ` Simon Horman
2024-06-04 13:14 ` [Intel-wired-lan] [PATCH iwl-next v7 12/12] iavf: add support for Rx timestamps to hotpath Mateusz Polchlopek
2024-06-04 13:14 ` Mateusz Polchlopek
2024-06-08 13:00 ` Simon Horman
2024-06-08 13:00 ` Simon Horman
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=20240608125920.GA27689@kernel.org \
--to=horms@kernel.org \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jacob.e.keller@intel.com \
--cc=mateusz.polchlopek@intel.com \
--cc=netdev@vger.kernel.org \
--cc=wojciech.drewek@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.