lkml.org 
[lkml]   [1999]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: spin_unlock optimization(i386)
Date
From

Oliver Xymoron <oxymoron@waste.org> wrote:

...
> Here's what my PPro manual has to say in the Multiple Processor
> Management section:
>
> Locked operations are serializing. They wait for all previous
> instructions to complete. Locked operations are atomic with respect
> to all other memory operations and all externally visible
> events. Only instruction fetch and page table accesses can pass
> locked instructions.
>
> Combined with my interpretation of the read/write ordering rules,
> serializing for LOCK is the right thing to do - LOCK is primarily useful
> for synchronizing data between processors.

It's clear the LOCK has to be done at retire/commit time, simply
because you can't execute the LOCKed bus cycles speculatively. Hence
the comment about all previous instructions needing to be completed
first. For this to happen, they must all be committed state.

As to the rest... in WB or UC, that is guaranteed by the program
ordering with respect to other memory operations/the observed memory
image.

I think they added the totally serializing so you didn't have to think
about the memory type at all.


Erich Boleyn
PMD IA32 Architecture
Intel

--
Erich Boleyn
PMD Architecture
<esboleyn@ichips.intel.com>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.058 / U:0.732 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site