Subj : Re: To anybody at Microsoft who cares... :) To : comp.os.ms-windows.programmer.win32,comp.programming.threads From : Ziv Caspi Date : Sat Jan 08 2005 01:03 am Does this help? Multiprocessor Considerations for Kernel-Mode Drivers http://www.microsoft.com/whdc/driver/kernel/MP_issues.mspx Ziv Caspi "SenderX" wrote in message news:f0EEc.3478$MB3.1944@attbi_s04... > Do you guys have any idea when/if you are going to give a "detailed > description" of the InterlockedXXX API's memory visibility semantics? > > I think you are going for the straight forward method of acquire/release, > but your docs need to be tightened up. For one, does > InterlockedCompareExchangeAcquire/Release execute the membar upon cas > failure, on non-tso CPU's? You are forcing programmers to disassemble your > atomic-ops to try to ease their minds. I know that acquire/release has > basically the same memory visibility rules that pthread_mutex_lock/unlock > has, but you still need to document "exactly what your acquire/release > semantics are", and give detailed description on how they "apply to your > interlocked API"... > > > > MSDN would be a great place for this... Put it under something like: > > "The Microsoft Memory Visibility Standard: Acquire/Release/Full" > > :O > > > > P.S. > > I also wouldn't hurt to document how acquire/release "applies to all of > your > sync primitives"... > > ;) > > .