From: Andi Kleen <andi@firstfloor.org>
To: Harald Welte <HaraldWelte@viatech.com>
Cc: Andi Kleen <andi@firstfloor.org>,
"H. Peter Anvin" <hpa@zytor.com>,
lkml@morethan.org, Ingo Molnar <mingo@elte.hu>,
Thomas Gleixner <tglx@linutronix.de>,
linux-kernel@vger.kernel.org, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: LOCK prefix on uni processor has its use
Date: Tue, 2 Jun 2009 15:03:43 +0200 [thread overview]
Message-ID: <20090602130343.GI1065@one.firstfloor.org> (raw)
In-Reply-To: <20090602124854.GB9823@prithivi.gnumonks.org>
On Tue, Jun 02, 2009 at 02:48:54PM +0200, Harald Welte wrote:
> On Wed, May 27, 2009 at 08:08:27PM +0200, Andi Kleen wrote:
> > Harald Welte <HaraldWelte@viatech.com> writes:
> > > * All X86 instructions except rep-strings are atomic wrt interrupts.
> > > * The lock prefix has uses on a UP processor: It keeps DMA devices from
> > > interfering with a read-modify-write sequence
> >
> > In theory yes, but not in Linux -- normal drivers simply don't use LOCK in
> > any way on a UP kernel.
>
> well, they might have inadvertedly used LOCK as part of regular spinlocks,
> until LOCK_PREFIX was removed, right?
LOCK_PREFIX was always defined away on UP kernels. That dates back
to the initial Linux 2.0 SMP implementation.
On newer SMP kernels they also patch away the lock prefix even
if they are running UP, so if you only have a single core you'll
never get lock.
So I think it's pretty unlikely any driver relied on this.
There are some special bit functions that always have LOCK, but these
are only used by the Xen drivers afaik (that is needed when a UP
kernel talks to a SMP hypervisor over shared memory)
> I agree. I was not referring to any real/known driver. I was just trying to
> figure out what kind of problem the VIA/Centaur CPU guys tried to describe when
> indicating that the LOCK prefix should be used on UP to avoid DMA interfering
> with read-modify-write CPU instructions.
It locks the cache line. That's a valid case in the x86 architecture,
it's just that the Linux driver model doesn't use it.
-Andi
--
ak@linux.intel.com -- Speaking for myself only.
next prev parent reply other threads:[~2009-06-02 12:56 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-22 16:39 [BUG FIX] Make x86_32 uni-processor Atomic ops, Atomic Michael S. Zick
2009-05-22 18:23 ` Andi Kleen
2009-05-22 18:36 ` Ingo Molnar
2009-05-22 18:59 ` H. Peter Anvin
2009-05-22 19:20 ` Michael S. Zick
2009-05-22 22:21 ` Michael S. Zick
2009-05-22 23:30 ` H. Peter Anvin
2009-05-23 0:45 ` Michael S. Zick
2009-05-23 0:51 ` H. Peter Anvin
2009-05-23 10:44 ` Michael S. Zick
2009-05-23 11:18 ` Michael S. Zick
2009-05-24 7:04 ` Harald Welte
2009-05-24 12:48 ` Michael S. Zick
2009-05-24 15:43 ` Michael S. Zick
2009-05-27 22:13 ` Roland Dreier
2009-05-27 22:33 ` Michael S. Zick
2009-05-23 15:52 ` Michael S. Zick
2009-05-23 18:04 ` Michael S. Zick
2009-05-23 23:44 ` H. Peter Anvin
2009-05-24 6:49 ` Harald Welte
2009-05-24 12:38 ` Michael S. Zick
2009-05-24 17:31 ` Harald Welte
2009-05-27 12:18 ` Re:[VIA Support] was: " Michael S. Zick
2009-05-27 12:22 ` [VIA " Michael S. Zick
2009-05-27 12:47 ` Harald Welte
2009-05-27 13:00 ` Michael S. Zick
2009-05-29 12:06 ` Michael S. Zick
2009-05-30 15:48 ` Michael S. Zick
2009-05-24 12:27 ` Michael S. Zick
2009-05-24 17:22 ` Harald Welte
2009-05-24 18:00 ` H. Peter Anvin
2009-05-24 18:32 ` Michael S. Zick
2009-05-24 18:46 ` H. Peter Anvin
2009-05-24 19:09 ` Michael S. Zick
2009-05-25 19:03 ` Michael S. Zick
2009-05-25 19:18 ` Michael S. Zick
2009-05-25 19:46 ` Michael S. Zick
2009-05-25 21:10 ` Michael S. Zick
2009-05-25 21:17 ` H. Peter Anvin
2009-05-25 23:03 ` Michael S. Zick
2009-05-25 23:35 ` Michael S. Zick
2009-05-26 0:05 ` H. Peter Anvin
2009-05-26 12:37 ` Michael S. Zick
2009-05-26 17:13 ` H. Peter Anvin
2009-05-25 1:31 ` i2c-viapro / via-fb drivers on VIA CX700 Harald Welte
2009-05-25 12:54 ` Michael S. Zick
2009-05-27 13:36 ` Michael S. Zick
2009-05-25 16:05 ` [BUG FIX] Make x86_32 uni-processor Atomic ops, Atomic Michael S. Zick
2009-05-28 20:30 ` Pavel Machek
2009-05-28 20:54 ` Michael S. Zick
2009-05-28 23:15 ` [Futex RFC] was " Michael S. Zick
2009-05-29 2:00 ` Michael S. Zick
2009-05-27 17:01 ` LOCK prefix on uni processor has its use (was Re: [BUG FIX] Make x86_32 uni-processor Atomic ops, Atomic) Harald Welte
2009-05-27 17:10 ` Michael S. Zick
2009-05-27 17:19 ` Thomas Gleixner
2009-05-27 17:25 ` Michael S. Zick
2009-05-27 18:08 ` LOCK prefix on uni processor has its use Andi Kleen
2009-05-27 18:22 ` Michael S. Zick
2009-05-27 18:33 ` Michael S. Zick
2009-05-27 18:55 ` Michael S. Zick
2009-05-27 18:38 ` Andi Kleen
2009-06-02 12:48 ` Harald Welte
2009-06-02 13:03 ` Andi Kleen [this message]
2009-06-02 13:26 ` Michael S. Zick
2009-06-02 13:42 ` Andi Kleen
2009-06-03 11:46 ` Michael S. Zick
2009-05-28 2:56 ` LOCK prefix on uni processor has its use (was Re: [BUG FIX] Make x86_32 uni-processor Atomic ops, Atomic) H. Peter Anvin
2009-05-23 20:51 ` [BUG FIX] Make x86_32 uni-processor Atomic ops, Atomic Michael S. Zick
2009-05-28 12:48 ` Pavel Machek
2009-05-28 13:29 ` Michael S. Zick
2009-05-28 20:50 ` Pavel Machek
2009-05-28 20:58 ` Michael S. Zick
2009-05-28 21:16 ` Pavel Machek
2009-05-28 21:21 ` Michael S. Zick
2009-05-22 19:17 ` Michael S. Zick
[not found] ` <200905221343.30638.lkml@morethan.org>
[not found] ` <20090522192329.GF846@one.firstfloor.org>
2009-05-22 19:53 ` Michael S. Zick
2009-05-22 20:05 ` Samuel Thibault
2009-05-22 20:32 ` Michael S. Zick
2009-05-22 20:42 ` Andi Kleen
2009-05-22 20:57 ` Michael S. Zick
2009-05-22 20:43 ` Samuel Thibault
2009-05-22 21:59 ` Andi Kleen
2009-05-22 22:00 ` Samuel Thibault
2009-05-22 22:14 ` Andi Kleen
2009-05-22 22:14 ` Samuel Thibault
2009-05-22 20:45 ` Roland Dreier
2009-05-24 18:59 ` Robert Hancock
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=20090602130343.GI1065@one.firstfloor.org \
--to=andi@firstfloor.org \
--cc=HaraldWelte@viatech.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@morethan.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/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