[PATCH 00/26] Convert locks that can't sleep in -rt to raw_spinlock

John Kacur
2010-01-11T21:27:20Z

Thomas:

Now that your changes that free up the raw_spinlock name are upstream.
(described below for other readers)

http://lwn.net/Articles/365863/
http://lwn.net/Articles/366608/

I wanted to forward port the preempt-rt patches that convert locks to
atomic_spinlocks (rt tree only) to the new scheme.

The patches below are a result of that effort.
Please queue these up for 2.6.34 upstream, and please pull for preempt-rt

You can pull them from
git://git.kernel.org/pub/scm/linux/kernel/git/jkacur/jk-2.6.git
jk/v2.6.33-rc3-raw-spinlocks

Thanks

John Kacur (25):
xtime_lock: Convert atomic_seqlock to raw_seqlock, fix up all users
x86: Convert tlbstate_lock to raw_spinlock
sched: Convert thread_group_cputimer lock to raw_spinlock
x86: Convert ioapic_lock and vector_lock to raw_spinlocks
x86: Convert i8259A_lock to raw_spinlock
x86: Convert pci_config_lock to raw_spinlock
i8253: Convert i8253_lock to raw_spinlock
x86: Convert set_atomicity_lock to raw_spinlock
ACPI: Convert c3_lock to raw_spinlock
rtmutex: Convert wait_lock and pi_lock to raw_spinlock
printk: Convert lock to raw_spinlock
genirq: Convert locks to raw_spinlocks
trace: Convert various locks to raw_spinlock
clocksource: Convert watchdog_lock to raw_spinlock
timer_stats: Convert to raw_spinlocks
x86: kvm: Convert i8254/i8259 locks to raw_spinlock
x86 - nmi: Convert nmi_lock to raw_spinlock
cgroups: Convert cgroups release_list_lock to raw_spinlock
proportions: Convert spinlocks to raw_spinlocks.
percpu_counter: Convert to raw_spinlock
oprofile: Convert to raw_spinlock
vgacon: Convert vga console lock to raw_spinlock
pci-access: Convert pci_lock to raw_spinlock
kprobes: Convert to raw_spinlocks
softlockup: Convert to raw_spinlocks

Thomas Gleixner (1):
seqlock: Create raw_seqlock

arch/alpha/kernel/time.c | 4 +-
arch/arm/kernel/time.c | 12 ++--
arch/arm/oprofile/common.c | 4 +-
arch/arm/oprofile/op_model_mpcore.c | 4 +-
arch/blackfin/kernel/time.c | 4 +-
arch/cris/kernel/time.c | 4 +-
arch/frv/kernel/time.c | 4 +-
arch/h8300/kernel/time.c | 4 +-
arch/ia64/kernel/time.c | 4 +-
arch/ia64/xen/time.c | 4 +-
arch/m32r/kernel/time.c | 4 +-
arch/m68knommu/kernel/time.c | 4 +-
arch/mips/include/asm/i8253.h | 2 +-
arch/mips/kernel/i8253.c | 14 ++--
arch/mn10300/kernel/time.c | 4 +-
arch/parisc/kernel/time.c | 8 +-
arch/powerpc/kernel/time.c | 4 +-
arch/sparc/kernel/pcic.c | 8 +-
arch/sparc/kernel/time_32.c | 12 ++--
arch/x86/include/asm/i8253.h | 2 +-
arch/x86/include/asm/i8259.h | 2 +-
arch/x86/include/asm/pci_x86.h | 2 +-
arch/x86/kernel/apic/io_apic.c | 106 +++++++++++++++++-----------------
arch/x86/kernel/apic/nmi.c | 6 +-
arch/x86/kernel/apm_32.c | 4 +-
arch/x86/kernel/cpu/mtrr/generic.c | 6 +-
arch/x86/kernel/i8253.c | 14 ++--
arch/x86/kernel/i8259.c | 30 +++++-----
arch/x86/kernel/time.c | 4 +-
arch/x86/kernel/visws_quirks.c | 6 +-
arch/x86/kvm/i8254.c | 10 ++--
arch/x86/kvm/i8254.h | 2 +-
arch/x86/kvm/i8259.c | 30 +++++-----
arch/x86/kvm/irq.h | 2 +-
arch/x86/kvm/x86.c | 8 +-
arch/x86/mm/tlb.c | 8 +-
arch/x86/oprofile/nmi_int.c | 4 +-
arch/x86/pci/common.c | 2 +-
arch/x86/pci/direct.c | 16 +++---
arch/x86/pci/mmconfig_32.c | 8 +-
arch/x86/pci/numaq_32.c | 8 +-
arch/x86/pci/pcbios.c | 8 +-
arch/xtensa/kernel/time.c | 4 +-
drivers/acpi/processor_idle.c | 10 ++--
drivers/block/hd.c | 4 +-
drivers/input/gameport/gameport.c | 4 +-
drivers/input/joystick/analog.c | 4 +-
drivers/input/misc/pcspkr.c | 6 +-
drivers/oprofile/event_buffer.c | 4 +-
drivers/oprofile/oprofilefs.c | 6 +-
drivers/pci/access.c | 34 ++++++------
drivers/video/console/vgacon.c | 42 +++++++-------
include/linux/init_task.h | 2 +-
include/linux/kprobes.h | 2 +-
include/linux/oprofile.h | 2 +-
include/linux/percpu_counter.h | 2 +-
include/linux/proportions.h | 6 +-
include/linux/ratelimit.h | 4 +-
include/linux/rtmutex.h | 2 +-
include/linux/sched.h | 4 +-
include/linux/seqlock.h | 86 +++++++++++++++++++++++++++-
include/linux/time.h | 2 +-
kernel/cgroup.c | 18 +++---
kernel/hrtimer.c | 8 +-
kernel/kprobes.c | 34 ++++++------
kernel/posix-cpu-timers.c | 8 +-
kernel/printk.c | 42 +++++++-------
kernel/sched_stats.h | 12 ++--
kernel/softlockup.c | 6 +-
kernel/time.c | 8 +-
kernel/time/clocksource.c | 26 ++++----
kernel/time/ntp.c | 8 +-
kernel/time/tick-common.c | 8 +-
kernel/time/tick-sched.c | 12 ++--
kernel/time/timekeeping.c | 50 ++++++++--------
kernel/time/timer_stats.c | 6 +-
kernel/trace/ring_buffer.c | 52 +++++++++---------
kernel/trace/trace.c | 10 ++--
kernel/trace/trace_irqsoff.c | 6 +-
lib/percpu_counter.c | 18 +++---
lib/proportions.c | 12 ++--
lib/ratelimit.c | 4 +-
sound/drivers/pcsp/pcsp.h | 2 +-
sound/drivers/pcsp/pcsp_input.c | 4 +-
sound/drivers/pcsp/pcsp_lib.c | 12 ++--
85 files changed, 535 insertions(+), 457 deletions(-)