From: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Fri, 28 Jul 2017 17:30:01 -0500 > With the low Ethernet connection speed cpdma notification about packet > processing can be received before CPTS TX timestamp event, which is set > when packet actually left CPSW while cpdma notification is sent when packet > pushed in CPSW fifo. As result, when connection is slow and CPU is fast > enough TX timestamping is not working properly. > Issue was discovered using timestamping tool on am57x boards with Ethernet link > speed forced to 100M and on am335x-evm with Ethernet link speed forced to 10M. > > Patch3 - This series fixes it by introducing TX SKB queue to store PTP SKBs for > which Ethernet Transmit Event hasn't been received yet and then re-check this > queue with new Ethernet Transmit Events by scheduling CPTS overflow > work more often until TX SKB queue is not empty. > > Patch 1,2 - As CPTS overflow work is time critical task it important to ensure > that its scheduling is not delayed. Unfortunately, There could be significant > delay in CPTS work schedule under high system load and on -RT which could cause > CPTS misbehavior due to internal counter overflow and there is no way to tune > CPTS overflow work execution policy and priority manually. The kthread_worker > can be used instead of workqueues, as it creates separate named kthread for > each worker and its its execution policy and priority can be configured > using chrt tool. Instead of modifying CPTS driver itself it was proposed to > it was proposed to add PTP auxiliary worker to the PHC subsystem [1], so > other drivers can benefit from this feature also. > > [1] https://www.spinics.net/lists/netdev/msg445392.html Series applied to 'net', thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html