[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090602124854.GB9823@prithivi.gnumonks.org>
Date: Tue, 2 Jun 2009 14:48:54 +0200
From: Harald Welte <HaraldWelte@...tech.com>
To: Andi Kleen <andi@...stfloor.org>
Cc: "H. Peter Anvin" <hpa@...or.com>, lkml@...ethan.org,
Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>,
linux-kernel@...r.kernel.org, Alan Cox <alan@...rguk.ukuu.org.uk>
Subject: Re: LOCK prefix on uni processor has its use
On Wed, May 27, 2009 at 08:08:27PM +0200, Andi Kleen wrote:
> Harald Welte <HaraldWelte@...tech.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?
> > Now the question is: Is this a valid operation of a driver? Should the driver
> > do such things, or is such a driver broken?
>
> The driver is broken because if it relies on this it will not work on a UP kernel.
> Also it's not portable and in general a bad idea.
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.
--
- Harald Welte <HaraldWelte@...tech.com> http://linux.via.com.tw/
============================================================================
VIA Free and Open Source Software Liaison
--
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