Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

When cache locking occur?

Dmitry_Vyukov
Valued Contributor I
448 Views
When cache locking exactly occur?
When data reside in *current* core's cache? Or when data reside in *any* core's cache? Or when cache line have some particular status? Or when?

Dmitriy V'jukov
0 Kudos
3 Replies
Dmitry_Vyukov
Valued Contributor I
448 Views
Are here any specialists on Intel multicore processors?
Maybe Intel has *another* forum, where Intel's specialists answering to community questions about Intel processors? ...

Dmitriy V'jukov
0 Kudos
Anat_S_Intel
Employee
448 Views

what do you mean by "when"? the cache line that the program tries to lock can be initially at any place including memory or the disk,and will be brought to the current core's cache once accessed by the locking instruction.

0 Kudos
Dmitry_Vyukov
Valued Contributor I
448 Views
anshgm:

what do you mean by "when"? the cache line that the program tries to lock can be initially at any place including memory or the disk,and will be brought to the current core's cache once accessed by the locking instruction.



Let's assume cache line in current core cache, or in foreign core cache, or in both. I.e. memory location actively used by program. Are there any techniques to increase probability of cache line locking instead of bus locking? I mean techniques from point of view of system programmer.

For example, if cache line in current core cache in modified or exclusive state then cache line locking WILL occur.
Or if cache line in ANY core cache in modified or exclusive state then cache line locking WILL occur.
Or if cache line in shared state then cache line locking WILL occur.

Dmitriy V'jukov
0 Kudos
Reply