All of lore.kernel.org
 help / color / mirror / Atom feed
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, Rahul Rameshbabu <rrameshbabu@nvidia.com>,
	intel-wired-lan@lists.osuosl.org,
	Wojciech Drewek <wojciech.drewek@intel.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v7 07/12] iavf: add support for indirect access to PHC time
Date: Sat, 8 Jun 2024 13:59:04 +0100	[thread overview]
Message-ID: <20240608125904.GZ27689@kernel.org> (raw)
In-Reply-To: <20240604131400.13655-8-mateusz.polchlopek@intel.com>

On Tue, Jun 04, 2024 at 09:13:55AM -0400, Mateusz Polchlopek wrote:
> From: Jacob Keller <jacob.e.keller@intel.com>
> 
> Implement support for reading the PHC time indirectly via the
> VIRTCHNL_OP_1588_PTP_GET_TIME operation.
> 
> Based on some simple tests with ftrace, the latency of the indirect
> clock access appears to be about ~110 microseconds. This is due to the
> cost of preparing a message to send over the virtchnl queue.
> 
> This is expected, due to the increased jitter caused by sending messages
> over virtchnl. It is not easy to control the precise time that the
> message is sent by the VF, or the time that the message is responded to
> by the PF, or the time that the message sent from the PF is received by
> the VF.
> 
> For sending the request, note that many PTP related operations will
> require sending of VIRTCHNL messages. Instead of adding a separate AQ
> flag and storage for each operation, setup a simple queue mechanism for
> queuing up virtchnl messages.
> 
> Each message will be converted to a iavf_ptp_aq_cmd structure which ends
> with a flexible array member. A single AQ flag is added for processing
> messages from this queue. In principle this could be extended to handle
> arbitrary virtchnl messages. For now it is kept to PTP-specific as the
> need is primarily for handling PTP-related commands.
> 
> Use this to implement .gettimex64 using the indirect method via the
> virtchnl command. The response from the PF is processed and stored into
> the cached_phc_time. A wait queue is used to allow the PTP clock gettime
> request to sleep until the message is sent from the PF.
> 
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
> Reviewed-by: Rahul Rameshbabu <rrameshbabu@nvidia.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>,
	Rahul Rameshbabu <rrameshbabu@nvidia.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v7 07/12] iavf: add support for indirect access to PHC time
Date: Sat, 8 Jun 2024 13:59:04 +0100	[thread overview]
Message-ID: <20240608125904.GZ27689@kernel.org> (raw)
In-Reply-To: <20240604131400.13655-8-mateusz.polchlopek@intel.com>

On Tue, Jun 04, 2024 at 09:13:55AM -0400, Mateusz Polchlopek wrote:
> From: Jacob Keller <jacob.e.keller@intel.com>
> 
> Implement support for reading the PHC time indirectly via the
> VIRTCHNL_OP_1588_PTP_GET_TIME operation.
> 
> Based on some simple tests with ftrace, the latency of the indirect
> clock access appears to be about ~110 microseconds. This is due to the
> cost of preparing a message to send over the virtchnl queue.
> 
> This is expected, due to the increased jitter caused by sending messages
> over virtchnl. It is not easy to control the precise time that the
> message is sent by the VF, or the time that the message is responded to
> by the PF, or the time that the message sent from the PF is received by
> the VF.
> 
> For sending the request, note that many PTP related operations will
> require sending of VIRTCHNL messages. Instead of adding a separate AQ
> flag and storage for each operation, setup a simple queue mechanism for
> queuing up virtchnl messages.
> 
> Each message will be converted to a iavf_ptp_aq_cmd structure which ends
> with a flexible array member. A single AQ flag is added for processing
> messages from this queue. In principle this could be extended to handle
> arbitrary virtchnl messages. For now it is kept to PTP-specific as the
> need is primarily for handling PTP-related commands.
> 
> Use this to implement .gettimex64 using the indirect method via the
> virtchnl command. The response from the PF is processed and stored into
> the cached_phc_time. A wait queue is used to allow the PTP clock gettime
> request to sleep until the message is sent from the PF.
> 
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
> Reviewed-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
> Signed-off-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>

Reviewed-by: Simon Horman <horms@kernel.org>


  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 [this message]
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
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=20240608125904.GZ27689@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=rrameshbabu@nvidia.com \
    --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.