[patch] "big IRQ lock" removal, 2.5.27-A1

Ingo Molnar (mingo@elte.hu)
Sun, 21 Jul 2002 20:50:35 +0200 (CEST)


this is the next iteration of the big-IRQ-lock removal patch, against
2.5.27 + sched-fixes + ldt-fixes:

http://redhat.com/~mingo/remove-irqlock-patches/remove-irqlock-2.5.27-A1

one clarification wrt. disable_irq(): while it does not synchronize with
all IRQ sources globally anymore, it does synchronize with that particular
irq source (globally) - so drivers can use it safely to ensure that no
pending IRQ handler is running on another CPU after disable_irq() has
returned.

Changes:

- Oleg Nesterov noticed a do_IRQ() bug which can cause a reschedule in
do_IRQ().

- George Anzinger noticed that local_bh_enable() did not re-run softirqs.

- Linus suggested to still define cli(), sti(), save_flags(),
restore_flags() on UP kernels, to ease the transition.

the patch compiles, boots & works just fine on UP - on SMP it boots just
fine using the following limited .config:

http://redhat.com/~mingo/remove-irqlock-patches/config

(the serial subsystem is disabled for example.)

Ingo

-
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/