mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-09 00:00:00 +01:00
RT_PREEMPT => PREEMPT_RT
This commit is contained in:
parent
9ceb05d823
commit
b0d444dc28
5 changed files with 7 additions and 7 deletions
|
@ -23,7 +23,7 @@ Furthermore, it collects statistics, monitors the quality of service and handles
|
|||
For optimal performance the server is implemented in low-level C and makes use of several Linux-specific realtime features.
|
||||
The primary design goal was to make the behaviour of the system as deterministic as possible.
|
||||
|
||||
Therefore, it's advisable to run the server component on a [RT_PREEMPT](https://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch) patched version of Linux. In our environment, we use Fedora-based distribution which has been stripped to the bare minimum (no GUI, only a few background processes).
|
||||
Therefore, it's advisable to run the server component on a [PREEMPT_RT](https://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch) patched version of Linux. In our environment, we use Fedora-based distribution which has been stripped to the bare minimum (no GUI, only a few background processes).
|
||||
|
||||
The server is a multi-threaded application.
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
## Operating System and Kernel
|
||||
|
||||
For minimum latency several kernel and driver settings can be optimized.
|
||||
A [RT-preempt patched Linux](https://rt.wiki.kernel.org/index.php/Main_Page) kernel is recommended.
|
||||
A [PREEMPT_RT patched Linux](https://rt.wiki.kernel.org/index.php/Main_Page) kernel is recommended.
|
||||
Precompiled kernels for Fedora can be found here: http://ccrma.stanford.edu/planetccrma/software/
|
||||
|
||||
- Map NIC IRQs => see setting `affinity`
|
||||
|
|
|
@ -9,14 +9,14 @@
|
|||
#ifndef _CHECKS_H_
|
||||
#define _CHECKS_H_
|
||||
|
||||
/** Checks for realtime (RT_PREEMPT) patched kernel.
|
||||
/** Checks for realtime (PREEMPT_RT) patched kernel.
|
||||
*
|
||||
* See https://rt.wiki.kernel.org
|
||||
*
|
||||
* @retval 0 Kernel is patched.
|
||||
* @reval <>0 Kernel is not patched.
|
||||
*/
|
||||
int check_kernel_rtpreempt();
|
||||
int check_kernel_rt();
|
||||
|
||||
/** Check if kernel command line contains "isolcpus=" option.
|
||||
*
|
||||
|
|
|
@ -34,7 +34,7 @@ int check_kernel_version()
|
|||
return version_compare(¤t, &required) < 0;
|
||||
}
|
||||
|
||||
int check_kernel_rtpreempt()
|
||||
int check_kernel_rt()
|
||||
{
|
||||
return access(SYSFS_PATH "/kernel/realtime", R_OK);
|
||||
}
|
||||
|
|
|
@ -61,8 +61,8 @@ static void realtime_init()
|
|||
{ INDENT
|
||||
if (check_kernel_cmdline())
|
||||
warn("You should reserve some cores for the server (see 'isolcpus')");
|
||||
if (check_kernel_rtpreempt())
|
||||
warn("We recommend to use an RT_PREEMPT patched kernel!");
|
||||
if (check_kernel_rt())
|
||||
warn("We recommend to use an PREEMPT_RT patched kernel!");
|
||||
|
||||
/* Use FIFO scheduler with real time priority */
|
||||
if (settings.priority) {
|
||||
|
|
Loading…
Add table
Reference in a new issue