Message ID | 20240226151125.45391-1-mschmidt@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | ice: lighter locking for PTP time reading | expand |
On 2/26/2024 7:11 AM, 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. > > 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 > Glad to see some fix and improvement in this place. I had been considering switching the hardware semaphore entirely to be a shared mutex instead, but this direction also seems reasonable and fixes most of the issues. We could actually extend this to replace the semaphore with a mutex in order to avoid the PCIe transactions required to handle the hardware semaphore register.
On Mon, Feb 26, 2024 at 8:17 PM Jacob Keller <jacob.e.keller@intel.com> wrote: > On 2/26/2024 7:11 AM, 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. > > > > 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 > > > > Glad to see some fix and improvement in this place. I had been > considering switching the hardware semaphore entirely to be a shared > mutex instead, but this direction also seems reasonable and fixes most > of the issues. We could actually extend this to replace the semaphore > with a mutex in order to avoid the PCIe transactions required to handle > the hardware semaphore register. Thanks for the review. I'm glad you mentioned replacing the hw semaphore with a mutex, because I was already going in that direction :) Michal