Re: FAQ for realtime support in Linux Kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

Please give contribution with open heart and give answers to max
questions as possible and give your reviews :


FAQ for realtime support in Linux Kernel
---------------------------------------
Question Index
1. Realtime Support questions
2. Architecture questions
3. Mailing list questions
4. Realtime Patches questions
5. Configuring/compiling questions
6. Realtime samples/Performance questions
7. Realtime Applications questions
8. Maintainers  questions

Section 1 - Realtime Support questions

Q1 What is realtime support
A1

Q2 How realtime works
A2 The RT-Preempt patch converts Linux into a fully preemptible
kernel. The magic is done with:

* Making in-kernel locking-primitives (using spinlocks) preemptible
though reimplementation with rtmutexes:
* Critical sections protected by i.e. spinlock_t and rwlock_t are now
preemptible. The creation of non-preemptible sections (in kernel) is
still possible with raw_spinlock_t (same APIs like spinlock_t)
* Implementing priority inheritance for in-kernel spinlocks and
semaphores. For more information on priority inversion and priority
inheritance please consult Introduction to Priority Inversion
* Converting interrupt handlers into preemptible kernel threads: The
RT-Preempt patch treats soft interrupt handlers in kernel thread
context, which is represented by a task_struct like a common userspace
process. However it is also possible to register an IRQ in kernel
context.
* Converting the old Linux timer API into separate infrastructures for
high resolution kernel timers plus one for timeouts, leading to
userspace POSIX timers with high resolution.

Q3 What is the procedure to add realtime support
A3 Download latest realtime preemption patch from
http://www.kernel.org/pub/linux/kernel/projects/rt/ then related get
vanilla kernel from http://kernel.org then patch , configure and
compile

Section 2 - Architecture questions

Q1 Which Architecture are supporting realtime and who is maintainer
A1

Q2 What is the procedure to support realtime in new architecture
A2

Section 3 - Mailing list questions

Q1 realtime mailing list and archives
A1 http://www.mail-archive.com/linux-rt-users@xxxxxxxxxxxxxxx/

Q2 If I have some doubts or problems regarding realtime, do I need to
send mail in realtime mailing list or linux kernel mailing list or
both
A2

Section 4 - Realtime Patches questions

Q1 Why I need to download realtime patches, If realtime support is in
Linux kernel
A1

Q2 Download latest realtime patches
A2 http://www.kernel.org/pub/linux/kernel/projects/rt/

Q3 Where can I post my realtime patches
A3 Please send patches for the CONFIG_PREEMPT_RT Patch Set to LKML and
put Ingo Molnar and Thomas Gleixner on CC.

Please do not send clocksource and clockevents related patches against
the -rt patch. Make sure they apply against the latest -hrt-dyntick
patch. -hrt-dyntick might be a bit ahead of -rt at times, but the -rt
patch pulls -hrt-dyntick on a regular base.


Section 5 - Configuring/compiling questions

Q1 How to enable/disable realtime support
A1

Q2 Change realtime support run time or statically
A2

Q3 Required parameters for configuring realtime kernel
A3

Q4 Optional parameters for configuring realtime kernel, but they
effect realtime performance
A4

Section 6 - Realtime samples/Performance questions

Q1 What effects by realtime support and how much and samples to test
it and who maintains these samples
a. scheduling, task switching time
b. Interrupt latency
c. Interprocess communication
d. Filesystem
e. Device drivers
f. Network
g. X-Windows

Section 7 - Realtime Applications questions

Q1 List of realtime APIs
A1

Q2 How to write realtime applications
A2

Q3 Which programming languages are suitable for writing realtime applications
A3

Q4 Keep following things in mind while writing realtime applications
A4 Taking care of the following during the initial startup phase:
* Call directly from the main() entry the mlockall() call.
* Create all threads at startup time of the application, and touch
each page of the entire stack of each thread. Never start threads
dynamically during RT show time, this will ruin RT behavior.
* Never use system calls that are known to generate pagefaults, such
as fopen(). (Opening of files does the mmap() system call, which
generates a page-fault).
* Do not use 'compile time static arrays' without initializing them
directly after startup, before RT show time.


Q5 Do I need to recompile my applications to get realtime performance
A5

Section 8 - Maintainers questions

Q1 Maintainers of realtime kernel patch
A1

On 9/29/07, Jaswinder Singh <jaswinderlinuxrt@xxxxxxxxx> wrote:
> hello all,
>
> I made sections in FAQ to make it more readable.
>
> Thank you,
>
> Jaswinder Singh.
>
-
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux