lkml.org 
[lkml]   [2001]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subject[PATCH] (Updated) Preemptible Kernel
From
Date
Updated patches for 2.4.10, 2.4.11-pre1, and 2.4.10-ac1 are at
http://tech9.net/rml/linux

Note that the 2.4.10 patch is updated over previous patches.

It's been awhile, because a lot has changed. Please give this a good
once (and twice) -over. For those of you using preempt-stats, I suggest
not keeping that patch compiled in during regular use and certainly not
during any benchmarking.

What's New:

Most notably, George Anzinger of MontaVista rewrote how we keep track of
whether a task is preempted or not. The "preempt bit" has been moved
from a task's status flag to the preempt_count (per-task_struct)
variable. The resulting code is cleaner and simpler, and as a bonus the
race with ptrace and signals (and any undetected similar problems) has
been fixed, so we don't need explicit fixes.

I also renamed our namespace, cleaning things up, and trying to stick to
a prefix of "preempt." Most important, ctx_sw_on and ctx_sw_off are now
preempt_enable and preempt_disable.

The ChangeLog since the last official release:

20010928
- have spin_lock_prefetch prefetch the preempt_count, too,
since its incremented on each spin_lock
- some more ifdef and namespace cleanups

20010925
- modify our handling of the "preemption bit": move from the
task's status to the preempt_count
- the above removes the risk of race in ptrace and SIGSTOP
signal handling, so we can back out those fixes.
- rearrange our namespace. most notably, ctx_sw_on/off
is now preempt_enable/disable.
- cleanup some defines

20010923
- fix strace race: make ptrace preempt safe
- fix job control race: make SIGSTOP signal preempt
safe
- fix adfs compile bug: add sched.h include to
fs/adfs/map.c

--
Robert M. Love
rml at ufl.edu
rml at tech9.net

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:03    [W:0.145 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site