FreeRTOS on XU4 with Xen

Moderators: mdrjr, odroid

FreeRTOS on XU4 with Xen

Unread postby dumpram » Mon Jul 03, 2017 11:09 pm

Hello,

I've developed FreeRTOS 9.0.0 support for Exynos5422 and Xen 4.10 based on Mini-OS and Galois Inc port. (https://github.com/dumpram/odroid-xen-rtos)
I posted topic about bare metal approach for configuring EXTI interrupts on Exynos5422. This went very well with little help on this forum (viewtopic.php?f=97&t=27325). I measured interrupt latencies and compared them to Linux which runs natively on XU4. These are results that I've got:

For Linux kernel module:
linux-latency.png
Linux latency
linux-latency.png (41.04 KiB) Viewed 267 times


FreeRTOS on Xen:
xen-latency.png
FreeRTOS (xen-latency)
xen-latency.png (37.41 KiB) Viewed 267 times



This is tested under stress(memory hogs) running in Linux. In Xen stress was performed in Domain-0. Deviation is 10 times bigger in Linux. In FreeRTOS on Xen latency is still unpredictable but bounded by 30 microseconds. Average interrupt latency is about 8 microseconds but I think this can be less.

I don't know if frequency of cores is fixed to 2.0 GHz. I assume that it is setup with bootloader. Problem is how to raise frequency for performance on A15 cores or make sure that it is constant. I measured how many instructions can be performed in one second. About 8 million instruction can be performed in roughly 5 ms. That is 1600 MIPS? How is this related to CPU frequency is this to expect if frequency is 2.0 GHz? As I see in https://github.com/hardkernel/linux/blo ... ynos5420.c clock configuration is very complicated. But if someone could provide functions like get_cpu_rate and set_cpu_rate for core it would be great :D. I don't know which registers to look for :D.

For easier understanding of question. Here is architecture of virtualized system (vCPUs are pinned to pCPUs):
virt-scheme.png
virt-scheme
virt-scheme.png (49.3 KiB) Viewed 267 times


The best thing about result is that effect of Linux on FreeRTOS is minimal. Unlike using only Linux. Are there any ideas how to improve this and raise predictability?
dumpram
 
Posts: 8
Joined: Tue Apr 19, 2016 3:27 am
languages_spoken: english
ODROIDs: XU3

Return to Projects

Who is online

Users browsing this forum: No registered users and 2 guests