@@ -19,13 +19,15 @@ Measures measuring the same propriety are grouped together in tables and graphs,
...
@@ -19,13 +19,15 @@ Measures measuring the same propriety are grouped together in tables and graphs,
***etf_offset**: When a packet\s txtime is scheduled, the txtime set is the current time offset by etf_offset
***etf_offset**: When a packet\s txtime is scheduled, the txtime set is the current time offset by etf_offset
***route**: How the boards are connected. switch means they are connected by a switch (cheap, unmanaged), E2E
***route**: How the boards are connected. switch means they are connected by a switch (cheap, unmanaged), E2E
***qdisc**: qdisc used to send packets
***qdisc**: qdisc used to send packets
***client**: Device which sent the packets
***XDP**: Were XDP sockets used
### cyclictest_wake-up_latency results
### cyclictest_wake-up_latency results
Uses cyclictest from the rt-tests test suite to measure wake-up latency. A real-time thread is run on CPU1, and wakes up at a regular interval (specified by the interval parameter) using clock_nanosleep. It then uses clock_gettime and computes the difference between the scheduled wake-up time and the effective wake-up time measured by clock_gettime.
Uses cyclictest from the rt-tests test suite to measure wake-up latency. A real-time thread is run on CPU1, and wakes up at a regular interval (specified by the interval parameter) using clock_nanosleep. It then uses clock_gettime and computes the difference between the scheduled wake-up time and the effective wake-up time measured by clock_gettime.
The command used is: cyclictest -p `prio` -a1 -t1 -n -h 200 -q -i `interval`
The command used is: cyclictest -p `prio` -a1 -t1 -n -h 200 -q -i `interval`
Two shuttles connected end to end with an ethernet cable and synchronized with PTP emit signals, and a logic analyzer measures variation in those signals, similar to "Shuttle controlled A20 signal output jitter" measures
Two shuttles connected end to end with an ethernet cable and synchronized with PTP emit signals, and a logic analyzer measures variation in those signals, similar to "Shuttle controlled A20 signal output jitter" measures
**Common test metadata:** Device: Shuttle, Linux kernel version: 4.19, Task priority: 98, Interval: 10000us, Boot Parameters: isolcpus,rcu_nocbs,irqaffinity, ETF qdisc delta: None, Device and processor load: None, Test duration: 0h10, Speed (Mb/s): 1000, ETF offset: 500us, Packet route: E2E, qdisc: pfifo_fast
**Common test metadata:** Device: Shuttle, Linux kernel version: 4.19, Task priority: 98, Interval: 10000us, Boot Parameters: isolcpus,rcu_nocbs,irqaffinity, ETF qdisc delta: None, Device and processor load: None, Test duration: 0h10, Speed (Mb/s): 1000, ETF offset: 500us, Packet route: E2E, qdisc: pfifo_fast, Client device: A20, XDP: no
Minimum | Maximum | Average | Standard deviation | Lost packets
Minimum | Maximum | Average | Standard deviation | Lost packets
![alt text](measures/graphs/shuttle_signal_jitterShuttle signal output jitter.png "shuttle_signal_jitter Graph")
![alt text](measures/graphs/shuttle_signal_jitterShuttle signal output jitter.png "shuttle_signal_jitter Graph")
### packet_jitter results
An UDP packet is periodically sent from one board to another using a real time thread. The receiving board calculates the intervals between the packets it receives, and sees how much it differs from the scheduled interval.