Commit b3fb9f8a authored by Joanne Hugé's avatar Joanne Hugé

Add descriptions for the metadata used

parent ea01190e
......@@ -263,9 +263,9 @@ class MeasureSetHandler:
report.write("## Measurements\n\n")
report.write("{}\n\n".format(MeasureSetHandler.report_description))
report.write("### Abbreviations used\n\n")
for abbr_name in MeasureSet.abbreviations:
report.write("* {}: {}\n".format(abbr_name, MeasureSet.abbreviations[abbr_name]))
report.write("### Description of the metadata associated to each test\n\n")
for abbr_name in MeasureSet.metadata_descriptions:
report.write("* **{}**: {}\n".format(abbr_name, MeasureSet.metadata_descriptions[abbr_name]))
report.write("\n")
for mtype in self.measure_sets:
......@@ -326,6 +326,20 @@ class MeasureSet:
'duration': 'Test duration',
}
metadata_descriptions = {
'ker': 'Linux kernel version used',
'prio': 'Priority of the real-time thread',
'i': 'Interval between each packet transmission',
'board': 'Name of the board used, one of three : Emerald, Slate or Onyx. (All boards are identical)',
'boot_p': 'Boot Parameters passed to u-boot',
'delta': 'ETF qdisc delta value',
'load': 'External device and processor load during the test',
'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",
}
descriptions = {
'cyclictest_wake-up_latency': "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 "
......@@ -353,16 +367,19 @@ class MeasureSet:
def __init__(self):
# Default values
self.metadata = {}
self.metadata['board'] = "Emerald"
self.metadata['ker'] = "4.19"
self.metadata['boot_p'] = "isolcpus"
self.metadata['i'] = "200us"
self.metadata['delta'] = "200us"
self.metadata['delta'] = "none"
self.metadata['prio'] = "99"
self.metadata['load'] = "ssh"
self.metadata['duration'] = "24h"
self.metadata['qdisc'] = "pfifo_fast"
self.metadata['etf_offset'] = "none"
self.metadata['route'] = "switch"
self.props = []
self.props_name = []
......
......@@ -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.
### Abbreviations used
* ker: Linux kernel version
* prio: Task priority
* i: Interval
* board: Board name
* boot_p: Boot Parameters
* delta: ETF qdisc delta
* load: Device and processor load
* duration: Test duration
### Description of the metadata associated to each test
* **ker**: Linux kernel version used
* **prio**: Priority of the real-time thread
* **i**: Interval between each packet transmission
* **board**: Name of the board used, one of three : Emerald, Slate or Onyx. (All boards are identical)
* **boot_p**: Boot Parameters passed to u-boot
* **delta**: ETF qdisc delta value
* **load**: External device and processor load during the test
* **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
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`
**Common test metadata:** Linux kernel version: 4.19, Boot Parameters: isolcpus, Interval: 200us, ETF qdisc delta: 200us, Task priority: 99, qdisc: pfifo_fast
**Common test metadata:** Linux kernel version: 4.19, Boot Parameters: isolcpus, Interval: 200us, ETF qdisc delta: 200us, Task priority: 99, qdisc: pfifo_fast, etf_offset: none, route: switch
Metadata | Min | Max | Avg | Var
------------------------- | ------------------- | ------------------- | ------------------- | -------------------
......@@ -38,7 +40,7 @@ Emerald, 24h, ssh | 12.0000us | 80.0000us | 15.4101u
Similar to packet_recv_timestamps, but on the transmitting board.
**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
Metadata | Min | Max | Avg | Var
--------------------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | -----------------------------
......@@ -56,7 +58,7 @@ Onyx, 1000us, 72h24, 160us, etf | 1.0000us - 33.0000us | 65.000
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
Metadata | Min | Max | Avg | Var
---------------------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | -----------------------------
......@@ -90,7 +92,7 @@ Metadata | Min | Max
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
Min | Max | Avg | Var
---------- | ---------- | ---------- | ----------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment