lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 12 Jan 2010 04:24:29 +0100 From: Frederic Weisbecker <fweisbec@...il.com> To: John Kacur <jkacur@...hat.com> Cc: Thomas Gleixner <tglx@...utronix.de>, lkml <linux-kernel@...r.kernel.org>, Ingo Molnar <mingo@...e.hu>, Clark Williams <williams@...hat.com> Subject: Re: [PATCH 00/26] Convert locks that can't sleep in -rt to raw_spinlock On Mon, Jan 11, 2010 at 10:26:30PM +0100, John Kacur wrote: > 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(-) Looking at this whole patchset. I have the feeling the changelogs don't tell us much about why we do that. I mean, I understand the general purpose of this patchset, but taken invidually, some of them make me stuck into existential questions. Could you just at least put a one liner detailed and individual clue in the changelogs that tells us why a pointed spinlock can not sleep in preempt_rt? And may be a comment in the code? There are places where it is pretty obvious, such as the rq lock. But some others... Or may be I'm just too ignorant and these sleeping in rt places are just simply damn too obvious to deserve any individual words... :-) Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists