[linux-audio-dev] [Fwd: [patch]2.4.0-test6 "spinlock" preemption patch]

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] [Fwd: [patch]2.4.0-test6 "spinlock" preemption patch]
From: Roger Larsson (roger.larsson_AT_norran.net)
Date: Thu Sep 07 2000 - 00:53:38 EEST


Hi,

Found on linux-kernel.

It is happening, a preemtable UP kernel.
Current problems probably due to holding spinlocks
for too long while walking linked lists etc.

/RogerL

George Anzinger wrote:
>
> This patch, for 2.4.0-test6, allows the kernel to be built with full
> preemption. The patch relies on the spinlock mechanism to protect areas
> of code that should not be preempted. The patch, by way of a small
> change to schedule(), allows preemption during times when current->state
> is not TASK_RUN. The measured context switch latencies with this patch
> have been as high as 12 ms, however, we are actively working to
> isolate and fix the areas of the system where this occurs. Currently
> the patch works only for ix86 UP systems. We are also
> actively working to expand the platform base for this work and to allow
> SMP systems to take advantage of the same improvements.
>
> The times a kernel is not preemptable under this patch are:
>
> While handling interrupts.
> While doing "bottom half" processing.
> While holding a spinlock, writelock or readlock.
>
> At all other times the algorithm allows preemption.
>
> The file preempt.txt (available at
> ftp.mvista.com/pub/Real-Time/2.4.0-test6)
> discusses the patch in more detail. This patch as well as a
> Real Time scheduler patch are also available at that site.
>
> George
> MontaVista Software
>
> ------------------------------------------------------------------------
> Name: preempt-2.4.0-test6-1.5.patch
> preempt-2.4.0-test6-1.5.patch Type: Plain Text (text/plain)
> Encoding: 7bit

--
Home page:
  http://www.norran.net/nra02596/


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu Sep 07 2000 - 02:00:31 EEST