Hi lists ! I measured the latency and the jitter of the RX and TX ethernet paths on my MPC5200 board. The RX path is quite good, but the TX path can be slow. [ 1218.976762] [mpc52xx_fec_start_xmit]Delay >30us for dma_map_single => 76364 ns [ 1219.188405] [mpc52xx_fec_tx_interrupt]Delay >30us for dma_unmap_single => 34515 ns [ 1220.628785] [mpc52xx_fec_start_xmit]Delay >30us for bcom_submit_next_buffer => 97273 ns [ 1225.776784] [mpc52xx_fec_tx_interrupt]Delay >30us for dma_unmap_single => 95273 ns As one can see, this is obviously problematic. The first function I analyzed is bcom_submit_next_buffer() => This function doesn't do lots of things, except a call to mb(). I have been looking to the "MPC603e RISC Microprocessor User's Manual" and especially the chapter named "2.3.4.7 Memory Synchronization InstructionsâUISA". Here is a paragraph which explains a lot : "The functions performed by the sync instruction normally take a signiïcant amount of time to complete; as a result, frequent use of this instruction may adversely affect performance. In addition, the number of cycles required to complete a sync instruction depends on system parameters and on the processor's state when the instruction is issued." I am using a real time kernel, and this is a problem, as it is not deterministic to use this instruction. Is there a way to avoid this ? I will now focus on the dma_map_single() and dma_unmap_single functions... Thanks in advance for your help, Best Regards, JM -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html