preempt-rt

Build an RT-application using PREEMPT_RT

会有一股神秘感。 提交于 2019-12-12 13:47:29
问题 I would like to write real-time Linux programs while using the real-time PREEMPT_RT. I found the official Wiki (https://rt.wiki.kernel.org/index.php/HOWTO:_Build_an_RT-application). There are some code examples but I would like to get the explanation of the possible RT-functions. Thank you, 回答1: It is important to underline that PREEMPT_RT is a patch that changes the internal code of the Linux kernel to reduce the maximum latency experienced by a user-level process. This is done by changing e

How to choose between preempt-rt & non-preempt-rt linux kernel for an IoT application?

ε祈祈猫儿з 提交于 2019-12-08 06:24:32
问题 I am working on an IoT project for which I have to decide between linux kernel 4.8 preempt-rt or non-preempt-rt . Quickly running the Linux RT benchmarking test: cd /usr/lib/rt-tests/ptest/rt_bmark.py which essentially runs cyclictest -S -p 99 -q -i 100 -d 20 -l 30000 led to the following results: For preempt-rt : 6:12:51: Cyclictest completed. Actual execution time:0:01:38 Min: 3 us Avg: 6.0 us Max: 61 us Max list: [12, 13, 15, 22, 22, 61] PASS For non-preempt-rt : 5:56:42: Cyclictest

Function which takes a pthread as input and suspends it

ⅰ亾dé卋堺 提交于 2019-12-07 12:12:46
问题 I'm trying to port the real time Thread_Metric from ExpressLogic in POSIX, in order to benchmark PREEMPT_RT patches for Linux, Xenomai and RTAI for my thesis. They provide a C source file with the following functions, which you have to implement in order for the benchmark to work: void tm_initialize(void (*test_initialization_function)(void)); int tm_thread_create(int thread_id, int priority, void (*entry_function)(void)); int tm_thread_resume(int thread_id); int tm_thread_suspend(int thread

Yocto build for preempt_rt

眉间皱痕 提交于 2019-12-06 05:54:30
问题 I'm building a custom kernel for the beaglebone black. Following this guide (http://android.serverbox.ch/?p=1273) I'm able to boot to console successfully using a base image. When I try to build with the realtime kernel patch using command: bitbake core-image-rt I get the following error messages: Loading cache: 100% |###############################| ETA: 00:00:00 Loaded 1222 entries from dependency cache. Parsing recipes: 100% |#############################| Time: 00:00:00 Parsing of 862 .bb

Function which takes a pthread as input and suspends it

大城市里の小女人 提交于 2019-12-05 19:23:38
I'm trying to port the real time Thread_Metric from ExpressLogic in POSIX, in order to benchmark PREEMPT_RT patches for Linux, Xenomai and RTAI for my thesis. They provide a C source file with the following functions, which you have to implement in order for the benchmark to work: void tm_initialize(void (*test_initialization_function)(void)); int tm_thread_create(int thread_id, int priority, void (*entry_function)(void)); int tm_thread_resume(int thread_id); int tm_thread_suspend(int thread_id); void tm_thread_relinquish(void); void tm_thread_sleep(int seconds); int tm_queue_create(int queue