Author: Matt Taylor
Date: 13:16:30 12/19/02
Go up one level in this thread
On December 19, 2002 at 11:40:11, Robert Hyatt wrote: >For those remembering the discussion from a couple of weeks ago, I >had run into a strange problem with getting an inline asm lock to >work. I was playing with this because I was following the Intel >guideline of adding a "pause" to the "shadow-lock" part of the code. > >First, the lock now works. The bug was on the **** line above. I >had incorrectly written "jz". To explain the code first, read on... Ah, you had us all hoping for more elusive compiler/assembler/hardware bugs. I guess it always helps to check the algorithm. >Why is that interesting? It suggests that for the most part, when this code >is called, the lock is zero. Which is what I had thought all along with just >four threads running. This means that the _locks_ are not really affecting >my search speed, contrary to what "some" would like to suggest. If I were to >use 16 processors, I'm sure it would happen more often. But for now, the locks >do not appear to be a performance bottleneck. > >BTW the above code works fine if you are running linux. Or using gcc/gas on >other platforms. It is not quite microsoft syntax as MS reverses the >operands to dst, src rather than the ATT approach of src, dst. Also there >are other syntactical issues dealing with [] vs () and $constant and so forth. You mean Intel syntax. Intel deserves sole credit for their backward syntax. Microsoft just mimiced. :-P >I think I am next going to work on making the other asm all work by inlining >it to dump a lot of call instruction overhead that is scattered around... It's too bad the compiler can't make those decisions for you. My past experiences with the VC optimizer and inline assembly, particularly with inline functions, have been less than peachy. The gcc mechanism works a lot better. Still, it would be yet nicer if you could tell the linker, "Inline any function smaller than X bytes. Also, inline function Y because it gets called often." The only thing that could beat that would be a linker that employed even MORE intelligence and did profiling too. -Matt
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.