From: Frederic Weisbecker <fweisbec@gmail.com>
To: John Kacur <jkacur@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
lkml <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>,
Clark Williams <williams@redhat.com>
Subject: Re: [PATCH 00/26] Convert locks that can't sleep in -rt to raw_spinlock
Date: Tue, 12 Jan 2010 04:49:48 +0100 [thread overview]
Message-ID: <20100112034948.GH5243@nowhere> (raw)
In-Reply-To: <20100112032428.GE5243@nowhere>
On Tue, Jan 12, 2010 at 04:24:29AM +0100, Frederic Weisbecker wrote:
> 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.
>
And please add people working on these files in Cc.
prev parent reply other threads:[~2010-01-12 3:49 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-11 21:26 [PATCH 00/26] Convert locks that can't sleep in -rt to raw_spinlock John Kacur
2010-01-11 21:26 ` [PATCH 01/26] xtime_lock: Convert atomic_seqlock to raw_seqlock, fix up all users John Kacur
2010-01-11 21:26 ` [PATCH 02/26] seqlock: Create raw_seqlock John Kacur
2010-01-11 21:26 ` [PATCH 03/26] x86: Convert tlbstate_lock to raw_spinlock John Kacur
2010-01-11 21:26 ` [PATCH 04/26] sched: Convert thread_group_cputimer lock " John Kacur
2010-01-11 21:26 ` [PATCH 05/26] x86: Convert ioapic_lock and vector_lock to raw_spinlocks John Kacur
2010-01-11 21:26 ` [PATCH 06/26] x86: Convert i8259A_lock to raw_spinlock John Kacur
2010-01-11 21:26 ` [PATCH 07/26] x86: Convert pci_config_lock " John Kacur
2010-01-11 21:26 ` [PATCH 08/26] i8253: Convert i8253_lock " John Kacur
2010-01-11 21:26 ` [PATCH 09/26] x86: Convert set_atomicity_lock " John Kacur
2010-01-11 21:26 ` [PATCH 10/26] ACPI: Convert c3_lock " John Kacur
2010-01-11 21:26 ` [PATCH 11/26] rtmutex: Convert wait_lock and pi_lock " John Kacur
2010-01-11 21:26 ` [PATCH 12/26] printk: Convert lock " John Kacur
2010-01-11 21:26 ` [PATCH 13/26] genirq: Convert locks to raw_spinlocks John Kacur
2010-01-11 21:26 ` [PATCH 14/26] trace: Convert various locks to raw_spinlock John Kacur
2010-01-11 21:26 ` [PATCH 15/26] clocksource: Convert watchdog_lock " John Kacur
2010-01-11 21:26 ` [PATCH 16/26] timer_stats: Convert to raw_spinlocks John Kacur
2010-01-11 21:26 ` [PATCH 17/26] x86: kvm: Convert i8254/i8259 locks to raw_spinlock John Kacur
2010-01-11 21:26 ` [PATCH 18/26] x86 - nmi: Convert nmi_lock " John Kacur
2010-01-11 21:26 ` [PATCH 19/26] cgroups: Convert cgroups release_list_lock " John Kacur
2010-01-11 21:26 ` [PATCH 20/26] proportions: Convert spinlocks to raw_spinlocks John Kacur
2010-01-11 21:26 ` [PATCH 21/26] percpu_counter: Convert to raw_spinlock John Kacur
2010-01-11 21:26 ` [PATCH 22/26] oprofile: " John Kacur
2010-01-11 21:26 ` [PATCH 23/26] vgacon: Convert vga console lock " John Kacur
2010-01-11 21:26 ` [PATCH 24/26] pci-access: Convert pci_lock " John Kacur
2010-01-11 21:26 ` [PATCH 25/26] kprobes: Convert to raw_spinlocks John Kacur
2010-01-11 21:26 ` [PATCH 26/26] softlockup: " John Kacur
2010-01-12 3:54 ` [PATCH 25/26] kprobes: " Frederic Weisbecker
2010-01-11 21:50 ` [PATCH 19/26] cgroups: Convert cgroups release_list_lock to raw_spinlock Paul Menage
2010-01-11 22:11 ` John Kacur
2010-01-12 3:39 ` [PATCH 14/26] trace: Convert various locks " Frederic Weisbecker
2010-01-13 15:28 ` Steven Rostedt
2010-01-13 15:36 ` John Kacur
2010-01-13 15:41 ` Steven Rostedt
2010-01-13 18:09 ` John Kacur
2010-01-17 13:00 ` Frederic Weisbecker
2010-01-12 3:24 ` [PATCH 00/26] Convert locks that can't sleep in -rt " Frederic Weisbecker
2010-01-12 3:49 ` Frederic Weisbecker [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100112034948.GH5243@nowhere \
--to=fweisbec@gmail.com \
--cc=jkacur@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=williams@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox