Hello All,
I did some measurements with the RX pacing on the GMAC eth0 interface.
As input (rx data) we have two 2.4kHz streams and one 1.2kHz stream.
That means we receive in a 1ms time frame between 5 and 7 packets.
Rx pacing is set to 500us:
root@cpm:~# ethtool -c eth0
Coalesce parameters for eth0:
Adaptive RX: off TX: off
stats-block-usecs: 0
sample-interval: 0
pkt-rate-low: 0
pkt-rate-high: 0
rx-usecs: 500
rx-frames: 0
rx-usecs-irq: 0
rx-frames-irq: 0
tx-usecs: 0
tx-frames: 0
tx-usecs-irq: 0
tx-frames-irq: 0
rx-usecs-low: 0
rx-frame-low: 0
tx-usecs-low: 0
tx-frame-low: 0
rx-usecs-high: 0
rx-frame-high: 0
tx-usecs-high: 0
tx-frame-high: 0
I did a measurement with LTTNG. On the Trace Compass Resource diagram screenshot I added the time between the eth0 interrupts (IRQ/86, numbers are in us).
Could you explain why we see this three different gaps between the IRQ/86 interrupts (200us, 400us and 1000us)?
It seems that we have a dynamic setting of the Rx pacing during run time, even though I have set the pacing to 500.
Could you explain more in detail the algorithm which is used.
Best regards,
Andreas