Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[control] separate fence and fence.i instructions #1149

Merged
merged 6 commits into from
Jan 10, 2025
Merged

Conversation

stnolting
Copy link
Owner

Previously, the commands fence and fence.i were functionally equivalent. The execution of one of the two instructions leads to a complete cache re-synchronization (flushing/clearing/reloading the instruction and data cache). However, this is too inefficient, so this PR splits the two commands functionally.

  • fence.i - clear and reload instruction cache
  • fence - flush, clear and reload data cache

After the L1 caches, both instructions still behave identically.

@stnolting stnolting added enhancement New feature or request HW Hardware-related labels Jan 10, 2025
@stnolting stnolting self-assigned this Jan 10, 2025
for read-only caches: send fence/synchronization before reloading. for read-write caches: send fence/synchronization after flushing but before reloading
@stnolting stnolting marked this pull request as ready for review January 10, 2025 20:39
@stnolting stnolting merged commit f6eb742 into main Jan 10, 2025
7 checks passed
@stnolting stnolting deleted the fence_instructions branch January 10, 2025 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request HW Hardware-related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant