[fpc-devel] A generic function for (multicore) cache flush?

Nikolai Zhubr n-a-zhubr at yandex.ru
Mon Oct 31 21:13:06 CET 2016


31.10.2016 22:44, Jeppe Johansen:
>> Is there any good generic (portable) function to ensure memory cache
>> flush for a thread on a multicore system?
>>
>> What I'm trying to do is essentially fetch some debugging counters
>> from multiple threads. They might happen to run on separate cores,
>> thus having something pending in local cache sometimes. I would like
>> to avoid EnterCriticalSection/ LeaveCriticalSection as such blocking
>> would be a huge overkill, however it is still desireable to fetch
>> reasonably current values. I'd like to avoid doing manual assembly as
>> well (for portability reasons etc.).
>>
>>
>> Thanks a lot!
>>
>> Nikolai
> Have you found this to be a problem in real environments?

No.

> I can't imagine any of the mainstream processor architectures of FPC
> where you wouldn't expect normal coherent bus operation when just
> reading cached memory from other processors. If all you need is just
> reasonably recent values that is..

Ok. Probably you are right.
Thanks!

Nikolai



More information about the fpc-devel mailing list