@@ -7,22 +7,24 @@ Measures measuring the same propriety are grouped together in tables and graphs,
...
@@ -7,22 +7,24 @@ Measures measuring the same propriety are grouped together in tables and graphs,
Currently, most of the measures need to be redone, as the code for sending the packets has changed and gave different results.
Currently, most of the measures need to be redone, as the code for sending the packets has changed and gave different results.
### Abbreviations used
### Description of the metadata associated to each test
* ker: Linux kernel version
***ker**: Linux kernel version used
* prio: Task priority
***prio**: Priority of the real-time thread
* i: Interval
***i**: Interval between each packet transmission
* board: Board name
***board**: Name of the board used, one of three : Emerald, Slate or Onyx. (All boards are identical)
* boot_p: Boot Parameters
***boot_p**: Boot Parameters passed to u-boot
* delta: ETF qdisc delta
***delta**: ETF qdisc delta value
* load: Device and processor load
***load**: External device and processor load during the test
* duration: Test duration
***duration**: Duration of the test
***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'means they are directly connected end to end
### 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. The command used is: cyclictest -p `prio` -a1 -t1 -n -h 200 -q -i `interval`
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`
An UDP packet is periodically sent from one board to another using a real time thread. The receiving board uses the SO_TIMESTAMPING option to see when the packet entered the kernel, and generates timestamps with clock_gettime once the packets enters userspace to compute the time the packet spent in kernel and user space.
An UDP packet is periodically sent from one board to another using a real time thread. The receiving board uses the SO_TIMESTAMPING option to see when the packet entered the kernel, and generates timestamps with clock_gettime once the packets enters userspace to compute the time the packet spent in kernel and user space.
**Common test metadata:** Linux kernel version: 4.19, Boot Parameters: isolcpus, Task priority: 99, Device and processor load: ssh
**Common test metadata:** Linux kernel version: 4.19, Boot Parameters: isolcpus, Task priority: 99, Device and processor load: ssh, etf_offset: none, route: switch
An UDP packet is periodically sent from one board to another and sent back as soon as it arrives using a real time thread. The round trip time is computed with clock_gettime on the transmitting board.
An UDP packet is periodically sent from one board to another and sent back as soon as it arrives using a real time thread. The round trip time is computed with clock_gettime on the transmitting board.
**Common test metadata:** Board name: Onyx, Linux kernel version: 4.19, Boot Parameters: isolcpus, Interval: 10000us, ETF qdisc delta: 200us, Task priority: 99, Device and processor load: ssh, Test duration: 0h4, qdisc: pfifo_fast
**Common test metadata:** Board name: Onyx, Linux kernel version: 4.19, Boot Parameters: isolcpus, Interval: 10000us, ETF qdisc delta: 200us, Task priority: 99, Device and processor load: ssh, Test duration: 0h4, qdisc: pfifo_fast, etf_offset: none, route: switch