Skip to contentSkip to conversation

(Updated) Preemptible Kernel

PATCH In review Robert Love 2 participants 3 messages Oct 1, 2001

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 (Updated) Preemptible Kernel

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

Signature · 3 lines
Robert M. Love
rml at ufl.edu
rml at tech9.net
#2 lore raw
Quoted 2 lines · Steve Kieu

Sorry it seems that your patches has not uploaded yet :-)

Hm, check again -- I see them. I've already gotten emails about them, so I guess others do, too :)

Quoted 1 line

From http://tech9.net/rml/linux, the patches are at:

http://tech9.net/rml/linux/patch-rml-2.4.10-ac1-preempt-kernel-1
http://tech9.net/rml/linux/patch-rml-2.4.11-pre1-preempt-kernel-1
http://tech9.net/rml/linux/patch-rml-2.4.10-preempt-kernel-5

Signature · 3 lines
Robert M. Love
rml at ufl.edu
rml at tech9.net