On 24/03/2020 15:43, Richard Cochran wrote:
On Fri, Mar 20, 2020 at 09:42:41PM +0200, Grygorii Strashko wrote:
Once CPTS IRQ will be enabled the CPTS irq handler may compete with netif
RX sofirq path and so RX timestamp might not be ready at the moment packet
is processed. As result, packet has to be deferred and processed later.
This change is not necessary. The Rx path can simply take a spinlock,
check the event list and the HW queue.
This patch moves RX timestamp processing tx timestamp processing to PTP
worker always the same way as it's been done for TX timestamps.
There is no advantage to delaying Rx time stamp delivery. In fact, it
can degrade synchronization performance. The only reason the
implementation delays Tx time stamps delivery is because there is no
other way.
I tested both ways and kept this version as i'v not seen any degradation,
but, of course, i'll redo the test (or may be you can advise what test to run).
My thoughts were - network stack might not immediately deliver packet to the application
and PTP worker can be tuned (pri and smp_affinity), resulted code will be more structured,
less locks and less time spent in softirq context.
I also can drop it.
--
Best regards,
grygorii