Filesystem (default vs base) Impact on Cyclictest Latencies

Headline:

What is being compared

"default" is the full Arago distribution image used by the AM62L SDK; "base" is a stripped-down image with fewer background services running. Refer to the Linux SDK docs for more information about the filesystem.

Run-to-run noise observation

Across the filesystem A/B pairs, no trend in either Core 0 or Core 1 maximum latency rises above the run-to-run variability already visible in the rest of the data. Comparable shifts in max latency appear between runs that should be more controlled (for example pairs where the only deliberately changed variable is the OPTEE binary or the DDR settings) yet still see multi-tens-of-microsecond differences in Core 0 or Core 1 max. Filesystem choice is therefore not separable from inter-run noise on this metric.

SDK test pairs (8)

Aggregate Δmax (B − A) where A=default FS, B=base FS, so negative = base FS better:
Core0: mean Δmax0 = -17.8 µs  |  base FS better in 5/8 pairs, worse in 3, tied in 0.
Core1: mean Δmax1 = +4.2 µs  |  base FS better in 3/8 pairs, worse in 4, tied in 1.
condition (fixed)default FS filemax0max1base FS filemax0max1Δmax0Δmax1plot
col=SDK test, fs=default, optee=oob, iso=n, ddr=n260518_112666260522_251122-75+56histograms ↓
col=SDK test, fs=default, optee=oob, iso=n, ddr=Y260526_4104107260524_17285-32-22histograms ↓
col=SDK test, fs=default, optee=oob, iso=Y, ddr=n260530_4101111260530_1108102+7-9histograms ↓
col=SDK test, fs=default, optee=oob, iso=Y, ddr=Y260526_210499260524_39384-11-15histograms ↓
col=SDK test, fs=default, optee=prng, iso=n, ddr=n260519_16255260522_45463-8+8histograms ↓
col=SDK test, fs=default, optee=prng, iso=n, ddr=Y260531_48168260523_35483-27+15histograms ↓
col=SDK test, fs=default, optee=prng, iso=Y, ddr=n260530_26136260531_16237+1+1histograms ↓
col=SDK test, fs=default, optee=prng, iso=Y, ddr=Y260524_26437260527_16737+30histograms ↓

Customer test (-i1000) pairs (8)

Aggregate Δmax (B − A) where A=default FS, B=base FS, so negative = base FS better:
Core0: mean Δmax0 = -28.4 µs  |  base FS better in 5/8 pairs, worse in 2, tied in 1.
Core1: mean Δmax1 = -18.0 µs  |  base FS better in 6/8 pairs, worse in 2, tied in 0.
condition (fixed)default FS filemax0max1base FS filemax0max1Δmax0Δmax1plot
col=Customer -i1000, fs=default, optee=oob, iso=n, ddr=n260529_226978260529_146072+191-6histograms ↓
col=Customer -i1000, fs=default, optee=oob, iso=n, ddr=Y260528_425159260528_320369-48+10histograms ↓
col=Customer -i1000, fs=default, optee=oob, iso=Y, ddr=n260522_3475266260529_4250180-225-86histograms ↓
col=Customer -i1000, fs=default, optee=oob, iso=Y, ddr=Y260525_2226133260525_1240113+14-20histograms ↓
col=Customer -i1000, fs=default, optee=prng, iso=n, ddr=n260531_225272260531_319873-54+1histograms ↓
col=Customer -i1000, fs=default, optee=prng, iso=n, ddr=Y260528_18363260528_283490-14histograms ↓
col=Customer -i1000, fs=default, optee=prng, iso=Y, ddr=n260529_3251159260530_3175149-76-10histograms ↓
col=Customer -i1000, fs=default, optee=prng, iso=Y, ddr=Y260523_2101135260526_172116-29-19histograms ↓

Customer test (-i200 -M) pairs (2)

Aggregate Δmax (B − A) where A=default FS, B=base FS, so negative = base FS better:
Core0: mean Δmax0 = +89.0 µs  |  base FS better in 0/2 pairs, worse in 2, tied in 0.
Core1: mean Δmax1 = +62.0 µs  |  base FS better in 0/2 pairs, worse in 2, tied in 0.
condition (fixed)default FS filemax0max1base FS filemax0max1Δmax0Δmax1plot
col=Customer -i200 -M, fs=default, optee=oob, iso=Y, ddr=Y260525_412698260525_3234221+108+123histograms ↓
col=Customer -i200 -M, fs=default, optee=prng, iso=Y, ddr=Y260523_15370260526_312371+70+1histograms ↓

Aggregate trends across multiple conditions

Comparing all 16 customer-test (-i1000) runs split by FS:

The two distributions overlap heavily. The base-FS median is ~13 µs lower, which is smaller than the largest run-to-run shifts in the data. The observation is consistent with "base FS is not making it worse, may be slightly better, cannot be confirmed".

Conclusions

  1. Filesystem is not a primary lever for the customer's Core1 max goal. The other factor reports show that core isolation OFF, DDR mods, and OPTEE-PRNG together account for almost all the achievable Core1 max reduction in the data set; FS choice is at most a small additional contributor.
  2. If the customer wants the smallest fleet image, base FS is safe. No pair shows base FS being meaningfully worse on Core1 max in the customer (-i1000) test.

Caveats

Appendix — per-pair histogram overlays

Reading the plots: filled circles are the baseline (A) run, "x" markers are the changed (B) run. The top panel is Core 0, the bottom panel is Core 1, both on a log-y count axis. A bump in the A curve that vanishes in the B curve is direct visual evidence that the factor under test produced or removed a latency cluster.

SDK test

fs=default, OPTEE=oob, iso=n, DDR=n  |  default FS=260518_1 (max0=126, max1=66) vs base FS=260522_2 (max0=51, max1=122)   ↑ back to top
fs=default, OPTEE=oob, iso=n, DDR=Y  |  default FS=260526_4 (max0=104, max1=107) vs base FS=260524_1 (max0=72, max1=85)   ↑ back to top
fs=default, OPTEE=oob, iso=Y, DDR=n  |  default FS=260530_4 (max0=101, max1=111) vs base FS=260530_1 (max0=108, max1=102)   ↑ back to top
fs=default, OPTEE=oob, iso=Y, DDR=Y  |  default FS=260526_2 (max0=104, max1=99) vs base FS=260524_3 (max0=93, max1=84)   ↑ back to top
fs=default, OPTEE=prng, iso=n, DDR=n  |  default FS=260519_1 (max0=62, max1=55) vs base FS=260522_4 (max0=54, max1=63)   ↑ back to top
fs=default, OPTEE=prng, iso=n, DDR=Y  |  default FS=260531_4 (max0=81, max1=68) vs base FS=260523_3 (max0=54, max1=83)   ↑ back to top
fs=default, OPTEE=prng, iso=Y, DDR=n  |  default FS=260530_2 (max0=61, max1=36) vs base FS=260531_1 (max0=62, max1=37)   ↑ back to top
fs=default, OPTEE=prng, iso=Y, DDR=Y  |  default FS=260524_2 (max0=64, max1=37) vs base FS=260527_1 (max0=67, max1=37)   ↑ back to top

Customer test (-i1000)

fs=default, OPTEE=oob, iso=n, DDR=n  |  default FS=260529_2 (max0=269, max1=78) vs base FS=260529_1 (max0=460, max1=72)   ↑ back to top
fs=default, OPTEE=oob, iso=n, DDR=Y  |  default FS=260528_4 (max0=251, max1=59) vs base FS=260528_3 (max0=203, max1=69)   ↑ back to top
fs=default, OPTEE=oob, iso=Y, DDR=n  |  default FS=260522_3 (max0=475, max1=266) vs base FS=260529_4 (max0=250, max1=180)   ↑ back to top
fs=default, OPTEE=oob, iso=Y, DDR=Y  |  default FS=260525_2 (max0=226, max1=133) vs base FS=260525_1 (max0=240, max1=113)   ↑ back to top
fs=default, OPTEE=prng, iso=n, DDR=n  |  default FS=260531_2 (max0=252, max1=72) vs base FS=260531_3 (max0=198, max1=73)   ↑ back to top
fs=default, OPTEE=prng, iso=n, DDR=Y  |  default FS=260528_1 (max0=83, max1=63) vs base FS=260528_2 (max0=83, max1=49)   ↑ back to top
fs=default, OPTEE=prng, iso=Y, DDR=n  |  default FS=260529_3 (max0=251, max1=159) vs base FS=260530_3 (max0=175, max1=149)   ↑ back to top
fs=default, OPTEE=prng, iso=Y, DDR=Y  |  default FS=260523_2 (max0=101, max1=135) vs base FS=260526_1 (max0=72, max1=116)   ↑ back to top

Customer test (-i200 -M)

fs=default, OPTEE=oob, iso=Y, DDR=Y  |  default FS=260525_4 (max0=126, max1=98) vs base FS=260525_3 (max0=234, max1=221)   ↑ back to top
fs=default, OPTEE=prng, iso=Y, DDR=Y  |  default FS=260523_1 (max0=53, max1=70) vs base FS=260526_3 (max0=123, max1=71)   ↑ back to top