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

Support non-block prefetch inst in Ruby #768

Open
seanzw opened this issue Jan 12, 2024 · 0 comments
Open

Support non-block prefetch inst in Ruby #768

seanzw opened this issue Jan 12, 2024 · 0 comments
Labels
mem-ruby Ruby caches, structures, and protocols

Comments

@seanzw
Copy link
Contributor

seanzw commented Jan 12, 2024

  • Problem
    By default, the prefetch instruction in x86 is implemented as normal load instruction (with prefetch flag in the request), and blocks the O3 cpu to wait for the response when we are using Ruby. This causes performance problem as the latency is exposed to the pipeline.

  • Possible Solution
    Currently, the classic cache returns early for the prefetch request. We could also implement this behavior in the RubySequencer. This would fix this issue for all CPU models and Ruby protocols.

@ivanaamit ivanaamit added the mem-ruby Ruby caches, structures, and protocols label Jan 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mem-ruby Ruby caches, structures, and protocols
Projects
None yet
Development

No branches or pull requests

2 participants