Re: FAQ for realtime support in Linux Kernel

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

 



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

[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