http://rt.wiki.kernel.org/index.php/FAQ_for_realtime_support_in_Linux_Kernel Thank you, Jaswinder Singh. On 9/29/07, Luis Claudio R. Goncalves <lclaudio@xxxxxxxx> wrote: > Jaswinder, > > On Sat, Sep 29, 2007 at 06:21:38PM +0530, Jaswinder Singh wrote: > | Hello all, > | > | Please give contribution with open heart and give answers to max > | questions as possible and give your reviews : > > I believe people were talking about you creating a FAQ entry in the RT Wiki > page, at http://rt.wiki.kernel.org/index.php/Main_Page. > > | 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 > ---end quoted text--- > > -- > [ Luis Claudio R. Goncalves Red Hat - Realtime Team ] > [ Fingerprint: 4FDD B8C4 3C59 34BD 8BE9 2696 7203 D980 A448 C8F8 ] > > - 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