[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2830bf3a-7068-4723-87d2-fab5d0fa2fad@intel.com>
Date: Fri, 15 Mar 2024 08:29:41 +0100
From: Przemek Kitszel <przemyslaw.kitszel@...el.com>
To: Michal Schmidt <mschmidt@...hat.com>, <intel-wired-lan@...ts.osuosl.org>
CC: <netdev@...r.kernel.org>, Jacob Keller <jacob.e.keller@...el.com>, "Jakub
Kicinski" <kuba@...nel.org>, Jiri Pirko <jiri@...nulli.us>, Jesse Brandeburg
<jesse.brandeburg@...el.com>, Arkadiusz Kubalewski
<arkadiusz.kubalewski@...el.com>, Karol Kolacinski
<karol.kolacinski@...el.com>
Subject: Re: [PATCH net-next v3 0/3] ice: lighter locking for PTP time reading
On 3/7/24 23:25, Michal Schmidt wrote:
> This series removes the use of the heavy-weight PTP hardware semaphore
> in the gettimex64 path. Instead, serialization of access to the time
> register is done using a host-side spinlock. The timer hardware is
> shared between PFs on the PCI adapter, so the spinlock must be shared
> between ice_pf instances too.
>
> Replacing the PTP hardware semaphore entirely with a mutex is also
> possible and you can see it done in my git branch[1], but I am not
> posting those patches yet to keep the scope of this series limited.
>
> [1] https://gitlab.com/mschmidt2/linux/-/commits/ice-ptp-host-side-lock-9
>
> v3:
> - Longer variable name ("a" -> "adapter").
> - Propagate xarray error in ice_adapter_get with ERR_PTR.
> - Added kernel-doc comments for ice_adapter_{get,put}.
>
> v2:
> - Patch 1: Rely on xarray's own lock. (Suggested by Jiri Pirko)
> - Patch 2: Do not use *_irqsave with ptp_gltsyn_time_lock, as it's used
> only in process contexts.
>
> Michal Schmidt (3):
> ice: add ice_adapter for shared data across PFs on the same NIC
> ice: avoid the PTP hardware semaphore in gettimex64 path
> ice: fold ice_ptp_read_time into ice_ptp_gettimex64
>
> drivers/net/ethernet/intel/ice/Makefile | 3 +-
> drivers/net/ethernet/intel/ice/ice.h | 2 +
> drivers/net/ethernet/intel/ice/ice_adapter.c | 109 +++++++++++++++++++
> drivers/net/ethernet/intel/ice/ice_adapter.h | 28 +++++
> drivers/net/ethernet/intel/ice/ice_main.c | 8 ++
> drivers/net/ethernet/intel/ice/ice_ptp.c | 33 +-----
> drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 3 +
> 7 files changed, 156 insertions(+), 30 deletions(-)
> create mode 100644 drivers/net/ethernet/intel/ice/ice_adapter.c
> create mode 100644 drivers/net/ethernet/intel/ice/ice_adapter.h
>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
Powered by blists - more mailing lists