From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: Ohad Ben-Cohen <ohad@wizery.com>,
Grant Likely <grant.likely@secretlab.ca>,
Hari Kanigeri <h-kanigeri2@ti.com>, Suman Anna <s-anna@ti.com>,
Benoit Cousson <b-cousson@ti.com>,
Tony Lindgren <tony@atomide.com>, Greg KH <greg@kroah.com>,
linux-kernel@vger.kernel.org, Simon Que <sque@ti.com>,
akpm@linux-foundation.org, linux-omap@vger.kernel.org,
"Krishnamoorthy, Balaji T" <balajitk@ti.com>
Subject: Re: [PATCH 1/3] drivers: misc: add omap_hwspinlock driver
Date: Tue, 19 Oct 2010 22:58:27 +0200 [thread overview]
Message-ID: <201010192258.27988.arnd@arndb.de> (raw)
In-Reply-To: <AANLkTinNfERyi_bTWc7LOKR1uRLC3E612ubFKBLxWB1E@mail.gmail.com>
On Tuesday 19 October 2010 22:43:34 Ohad Ben-Cohen wrote:
> > Disabling irqs might be a concern as a source of RT latency. It
> > might be better to make the caller responsible for managing local spin
> > locks and irq disable/enable.
>
> This a coming from an hardware requirement, rather than a choice the
> user should take.
>
> If a hwspinlock is taken over a long period of time, its other user
> (with which we try to achieve synchronization) might be polling the
> OMAP interconnect for too long (trying to take the hwspinlock) and
> thus preventing it to be used for other transactions.
This sounds exactly like any other spinlock.
> To prevent such lengthy polling on the interconnect, the hwspinlock
> should only be used for very short period of times, with preemption
> and interrupts disabled.
Interrupts disabled in general might go a bit too far -- they are also
short and infrequent events unless you have seriously broken drivers.
When running with CONFIG_PREEMPT, I would guess you actually want to
turn the omap_hwspinlock into a sleeping operation, though that would
require much extra work to implement. Disabling preemption while the
hwspinlock is held is of course a correct implementation technically,
but it might not be what someone enabling CONFIG_PREEMPT expects.
> That's why we don't give users the choice whether to disable
> interrupts or not - it's simply not a decision they should take.
What about those cases where you already know that interrupts are
disabled, e.g. while holding a regular spin_lock_irq or inside
of an interrupt handler?
Arnd
WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] drivers: misc: add omap_hwspinlock driver
Date: Tue, 19 Oct 2010 22:58:27 +0200 [thread overview]
Message-ID: <201010192258.27988.arnd@arndb.de> (raw)
In-Reply-To: <AANLkTinNfERyi_bTWc7LOKR1uRLC3E612ubFKBLxWB1E@mail.gmail.com>
On Tuesday 19 October 2010 22:43:34 Ohad Ben-Cohen wrote:
> > Disabling irqs might be a concern as a source of RT latency. It
> > might be better to make the caller responsible for managing local spin
> > locks and irq disable/enable.
>
> This a coming from an hardware requirement, rather than a choice the
> user should take.
>
> If a hwspinlock is taken over a long period of time, its other user
> (with which we try to achieve synchronization) might be polling the
> OMAP interconnect for too long (trying to take the hwspinlock) and
> thus preventing it to be used for other transactions.
This sounds exactly like any other spinlock.
> To prevent such lengthy polling on the interconnect, the hwspinlock
> should only be used for very short period of times, with preemption
> and interrupts disabled.
Interrupts disabled in general might go a bit too far -- they are also
short and infrequent events unless you have seriously broken drivers.
When running with CONFIG_PREEMPT, I would guess you actually want to
turn the omap_hwspinlock into a sleeping operation, though that would
require much extra work to implement. Disabling preemption while the
hwspinlock is held is of course a correct implementation technically,
but it might not be what someone enabling CONFIG_PREEMPT expects.
> That's why we don't give users the choice whether to disable
> interrupts or not - it's simply not a decision they should take.
What about those cases where you already know that interrupts are
disabled, e.g. while holding a regular spin_lock_irq or inside
of an interrupt handler?
Arnd
next prev parent reply other threads:[~2010-10-19 20:58 UTC|newest]
Thread overview: 157+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-18 7:44 [PATCH 0/3] Add OMAP hardware spinlock misc driver Ohad Ben-Cohen
2010-10-18 7:44 ` Ohad Ben-Cohen
2010-10-18 7:44 ` Ohad Ben-Cohen
2010-10-18 7:44 ` [PATCH 1/3] drivers: misc: add omap_hwspinlock driver Ohad Ben-Cohen
2010-10-18 7:44 ` Ohad Ben-Cohen
2010-10-18 7:44 ` Ohad Ben-Cohen
2010-10-19 15:46 ` Greg KH
2010-10-19 15:46 ` Greg KH
2010-10-19 20:18 ` Ohad Ben-Cohen
2010-10-19 20:18 ` Ohad Ben-Cohen
2010-10-19 16:58 ` Kevin Hilman
2010-10-19 16:58 ` Kevin Hilman
2010-10-19 16:58 ` Kevin Hilman
2010-10-19 20:21 ` Ohad Ben-Cohen
2010-10-19 20:21 ` Ohad Ben-Cohen
2010-10-19 20:21 ` Ohad Ben-Cohen
2010-10-19 17:01 ` Grant Likely
2010-10-19 17:01 ` Grant Likely
2010-10-19 17:01 ` Grant Likely
2010-10-19 20:43 ` Ohad Ben-Cohen
2010-10-19 20:43 ` Ohad Ben-Cohen
2010-10-19 20:58 ` Arnd Bergmann [this message]
2010-10-19 20:58 ` Arnd Bergmann
2010-10-19 21:57 ` Ohad Ben-Cohen
2010-10-19 21:57 ` Ohad Ben-Cohen
2010-10-19 17:16 ` Kevin Hilman
2010-10-19 17:16 ` Kevin Hilman
2010-10-19 17:16 ` Kevin Hilman
2010-10-20 13:00 ` Ohad Ben-Cohen
2010-10-20 13:00 ` Ohad Ben-Cohen
2010-10-20 18:18 ` Kevin Hilman
2010-10-20 18:18 ` Kevin Hilman
2010-10-20 18:18 ` Kevin Hilman
2010-10-19 17:21 ` Arnd Bergmann
2010-10-19 17:21 ` Arnd Bergmann
2010-10-19 20:51 ` Ohad Ben-Cohen
2010-10-19 20:51 ` Ohad Ben-Cohen
2010-10-19 21:08 ` Arnd Bergmann
2010-10-19 21:08 ` Arnd Bergmann
2010-10-20 22:43 ` Ohad Ben-Cohen
2010-10-20 22:43 ` Ohad Ben-Cohen
2010-10-21 9:04 ` Arnd Bergmann
2010-10-21 9:04 ` Arnd Bergmann
2010-10-21 10:13 ` Ohad Ben-Cohen
2010-10-21 10:13 ` Ohad Ben-Cohen
2010-10-21 12:02 ` Arnd Bergmann
2010-10-21 12:02 ` Arnd Bergmann
2010-10-22 17:00 ` Tony Lindgren
2010-10-22 17:00 ` Tony Lindgren
2010-10-18 7:44 ` [PATCH 2/3] OMAP4: hwmod data: Add hwspinlock Ohad Ben-Cohen
2010-10-18 7:44 ` Ohad Ben-Cohen
2010-10-18 7:44 ` Ohad Ben-Cohen
2010-10-18 7:44 ` [PATCH 3/3] omap: add hwspinlock device Ohad Ben-Cohen
2010-10-18 7:44 ` Ohad Ben-Cohen
2010-10-18 7:44 ` Ohad Ben-Cohen
2010-10-19 17:03 ` Kevin Hilman
2010-10-19 17:03 ` Kevin Hilman
2010-10-19 17:03 ` Kevin Hilman
2010-10-19 17:05 ` Grant Likely
2010-10-19 17:05 ` Grant Likely
2010-10-19 21:02 ` Ohad Ben-Cohen
2010-10-19 21:02 ` Ohad Ben-Cohen
2010-10-19 21:02 ` Ohad Ben-Cohen
2010-10-19 23:12 ` Grant Likely
2010-10-19 23:12 ` Grant Likely
2010-10-19 23:12 ` Grant Likely
2010-10-20 14:09 ` Ohad Ben-Cohen
2010-10-20 14:09 ` Ohad Ben-Cohen
2010-10-20 15:51 ` Grant Likely
2010-10-20 15:51 ` Grant Likely
2010-10-20 15:51 ` Grant Likely
2010-10-19 23:53 ` Kevin Hilman
2010-10-19 23:53 ` Kevin Hilman
2010-10-19 23:53 ` Kevin Hilman
2010-10-20 1:20 ` Ryan Mallon
2010-10-20 1:20 ` Ryan Mallon
2010-10-20 14:38 ` Ohad Ben-Cohen
2010-10-20 14:38 ` Ohad Ben-Cohen
2010-10-20 15:55 ` Grant Likely
2010-10-20 15:55 ` Grant Likely
2010-10-20 18:37 ` Kevin Hilman
2010-10-20 18:37 ` Kevin Hilman
2010-10-20 19:21 ` Ohad Ben-Cohen
2010-10-20 19:21 ` Ohad Ben-Cohen
2010-10-20 19:21 ` Ohad Ben-Cohen
2010-10-20 23:58 ` Kevin Hilman
2010-10-20 23:58 ` Kevin Hilman
2010-10-20 23:58 ` Kevin Hilman
2010-10-21 6:11 ` Ohad Ben-Cohen
2010-10-21 6:11 ` Ohad Ben-Cohen
2010-10-21 6:11 ` Ohad Ben-Cohen
2010-10-21 8:36 ` Kamoolkar, Mugdha
2010-10-21 8:36 ` Kamoolkar, Mugdha
2010-10-21 8:36 ` Kamoolkar, Mugdha
2010-10-21 9:06 ` Ohad Ben-Cohen
2010-10-21 9:06 ` Ohad Ben-Cohen
2010-10-22 9:59 ` Kamoolkar, Mugdha
2010-10-22 9:59 ` Kamoolkar, Mugdha
2010-10-22 11:16 ` Ohad Ben-Cohen
2010-10-22 11:16 ` Ohad Ben-Cohen
2010-10-21 12:26 ` Kanigeri, Hari
2010-10-21 12:26 ` Kanigeri, Hari
2010-10-21 12:26 ` Kanigeri, Hari
2010-10-22 10:14 ` Kamoolkar, Mugdha
2010-10-22 10:14 ` Kamoolkar, Mugdha
2010-10-22 10:14 ` Kamoolkar, Mugdha
2010-10-22 16:56 ` Tony Lindgren
2010-10-22 16:56 ` Tony Lindgren
2010-10-22 17:03 ` Grant Likely
2010-10-22 17:03 ` Grant Likely
2010-10-22 17:28 ` Tony Lindgren
2010-10-22 17:28 ` Tony Lindgren
2010-10-24 17:54 ` Ohad Ben-Cohen
2010-10-24 17:54 ` Ohad Ben-Cohen
2010-10-25 19:02 ` Tony Lindgren
2010-10-25 19:02 ` Tony Lindgren
2010-10-26 11:54 ` Ohad Ben-Cohen
2010-10-26 11:54 ` Ohad Ben-Cohen
2010-10-26 19:06 ` Tony Lindgren
2010-10-26 19:06 ` Tony Lindgren
2010-10-18 12:46 ` [PATCH 0/3] Add OMAP hardware spinlock misc driver Peter Zijlstra
2010-10-18 12:46 ` Peter Zijlstra
2010-10-18 13:35 ` Russell King - ARM Linux
2010-10-18 13:35 ` Russell King - ARM Linux
2010-10-18 13:43 ` Peter Zijlstra
2010-10-18 13:43 ` Peter Zijlstra
2010-10-18 14:28 ` Ohad Ben-Cohen
2010-10-18 14:28 ` Ohad Ben-Cohen
2010-10-18 14:33 ` Peter Zijlstra
2010-10-18 14:33 ` Peter Zijlstra
2010-10-18 14:33 ` Peter Zijlstra
2010-10-18 14:39 ` Ohad Ben-Cohen
2010-10-18 14:39 ` Ohad Ben-Cohen
2010-10-18 15:27 ` Catalin Marinas
2010-10-18 15:27 ` Catalin Marinas
2010-10-18 15:32 ` Peter Zijlstra
2010-10-18 15:32 ` Peter Zijlstra
2010-10-18 15:35 ` Ohad Ben-Cohen
2010-10-18 15:35 ` Ohad Ben-Cohen
2010-10-18 15:48 ` Peter Zijlstra
2010-10-18 15:48 ` Peter Zijlstra
2010-10-18 15:51 ` Catalin Marinas
2010-10-18 15:51 ` Catalin Marinas
2010-10-18 15:58 ` Peter Zijlstra
2010-10-18 15:58 ` Peter Zijlstra
2010-10-19 23:31 ` Daniel Walker
2010-10-19 23:31 ` Daniel Walker
2010-10-20 6:13 ` Ohad Ben-Cohen
2010-10-20 6:13 ` Ohad Ben-Cohen
2010-10-20 10:00 ` Ohad Ben-Cohen
2010-10-20 10:00 ` Ohad Ben-Cohen
2010-10-20 22:29 ` Bryan Huntsman
2010-10-20 22:29 ` Bryan Huntsman
2010-10-20 9:53 ` Russell King - ARM Linux
2010-10-20 9:53 ` Russell King - ARM Linux
2010-10-20 22:15 ` Daniel Walker
2010-10-20 22:15 ` Daniel Walker
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=201010192258.27988.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=akpm@linux-foundation.org \
--cc=b-cousson@ti.com \
--cc=balajitk@ti.com \
--cc=grant.likely@secretlab.ca \
--cc=greg@kroah.com \
--cc=h-kanigeri2@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=ohad@wizery.com \
--cc=s-anna@ti.com \
--cc=sque@ti.com \
--cc=tony@atomide.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.