On 07/01/2011 11:26 AM, Mark Morgan Lloyd wrote:
Michael Schnell wrote:
In another topic (now closed) Andrew described that a code similar to HansPeter's example did run correctly on a dual core machine, but produced errors on a machine with more cores.

I've not been reading every message. Definitive URL?
Topics:
   [fpc-devel] volatile variables
and over in the lazarus mailing list:
   [Lazarus] thread safe



So the really big question is whether any given computer has a robust SMP implementation, or if in actual fact it's some species of NUMA with unreliable cache coherency.

It might also be necessary to distinguish between SMP, multicore and hyperthreading.
While this of course is correct, this is not something a user program should know about. It the user program adheres to the Posix specs, I think the infrastructure (compiler, libraries, OS, Hardware) is supposed to correctly handle the dirty details.

Biggest x86 system I've got here is a Compaq with 2x Xeons which I think are 2x multicore rather than HT. More interestingly I've got a 12-way SMP Sun, and they've been in this game for a while. Linux-only in both cases.

Sound like interesting test cases. Andrew himself did not provide the code that failed. Maybe some information from the other topics might be helpful.

Thanks,
-Michael

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to