All of lore.kernel.org
 help / color / mirror / Atom feed
* cyclictest vs. latmus
@ 2022-11-06 19:11 Robert Berger
  2022-11-07  7:32 ` Philippe Gerum
  0 siblings, 1 reply; 5+ messages in thread
From: Robert Berger @ 2022-11-06 19:11 UTC (permalink / raw)
  To: xenomai

Hi,

I run some test cases with cyclictest and cyclictest built for xenomai 3 
for a couple of years now and want to switch to xenomai 4/evl.

Looks like I managed to compile an evl kernel and the evllib and I use 
latmus instead of cyclictest (not sure if I'm doing that correctly) and 
also I compare the results against cyclictest (not sure it's right to do 
that they way I'm doing it).

Anyways, sorry for the lengthy document I came of with[1] with 
histograms and questions.

Here are my questions, which you can find in a nicer formatted way in 
the doc[1].

= evl Kernel - CONFIG_PREEMPT_NONE - cyclictest =

My understanding is, that evl works similar to xenomai 3, meaning that 
you need to compile/link an application against libevl for evl to kick 
in. I would expect figures 15 and 16 on page 10 to look like figures 3
and 4 on page 4.

What’s odd is

*) the outlier in the graph without load is bigger than the one with 
load (1.3 ms vs. 550 us), which should be the opposite

*) the outlier in the graph with load should be like the one in figure 4 
which is around 10 ms, but it is more like 550 us - please note that the
kernel config contains CONFIG_PREEMPT_NONE=y and CONFIG_EVL=y
Does this observation imply, that an evl kernel modifies the behavior of 
the "vanilla" Linux scheduler for processes which should run on the 
"standard/vanilla" Linux scheduler?

= evl Kernel - CONFIG_EVL - latmus =

I am not quite sure if/how latmus compares to cyclictest. Ideally I 
would like to compare histograms produced by latmus against those I 
produce with cyclictest.

Let’s have a look at graphs 17 and 18 on page 11.

*) the outlier in the graph without load is bigger than the one with 
load (780 us vs. 700 us), which should be the opposite

*) xenomai 3 with cyclictest compiled for xenomai - figures 13 and 14 on 
page 9 performs significantly better than evl with latmus
**) no load outlier: xenomai 3(cyclictest): 26 us - evl(latmus): 780 us
**) load outlier: xenomai 3(cyclictest): 65 us - evl(latmus): 700 us

*) a preempt-rt patched kernel with cyclictest - figures 9 and 10 on 
page 7 performs significantly
better than evl with latmus
**) no load outlier: preempt-rt(cyclictest): 120 us - evl(latmus): 780 us
**) load outlier: preempt-rt(cyclictest): 119 us - evl(latmus): 700 us

*) a vanilla kernel with CONFIG_PREEMPT with cyclictest - figures 7 and 
8 on page 6 performs similar
to evl with latmus
**) no load outlier: preempt-rt(cyclictest): 880 us - evl(latmus): 780 us
**) load outlier: preempt-rt(cyclictest): 720 us - evl(latmus): 700 us

Please check the .pdf here[1] for more details:

[1] 
https://drive.google.com/drive/folders/1_5PZ_4sQxvL5MbiQU1Y1kUXC5IjF5SSX?usp=sharing

Regards,

Robert

-- 
Robert Berger
Embedded Software Evangelist

Reliable Embedded Systems
Consulting Training Engineering
URL: https://www.reliableembeddedsystems.com

Schedule a web meeting:
https://calendly.com/reliableembeddedsystems/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-11-21 22:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-06 19:11 cyclictest vs. latmus Robert Berger
2022-11-07  7:32 ` Philippe Gerum
2022-11-10  6:52   ` Robert Berger
2022-11-11  9:00     ` Philippe Gerum
2022-11-21 22:17       ` Robert Berger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.