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

Why don't we just set all the fences to dirty? #38

Closed
Dustray opened this issue Dec 11, 2023 · 4 comments
Closed

Why don't we just set all the fences to dirty? #38

Dustray opened this issue Dec 11, 2023 · 4 comments

Comments

@Dustray
Copy link

Dustray commented Dec 11, 2023

I noticed a lock before resetFenceDirty() in iHipWaitActiveStreams(3c6505c). The question I have is why don't we just set all the fences to dirty after dispatchBarrierPacket(

if (cache_state == amd::Device::kCacheStateSystem) {
).

Would adding another lock and loop for this hurt performance?

Why can't other CacheState just set dirty like kCacheStateSystem?

Thanks and hope you answer!

@ppanchad-amd
Copy link

Hi @Dustray. Apologies for the lack of response. Internal ticket has been created to assist with your question. Thanks!

@schung-amd
Copy link

Hi @Dustray, is this question still relevant? I'll reach out to our internal teams if it is, but our codebase has changed in the meanwhile and I don't see iHipWaitActiveStreams anymore. Let me know if this has just been refactored and your question is still relevant, or if you have any questions about the current code.

@Dustray
Copy link
Author

Dustray commented Sep 30, 2024

Ok I found that the locking judgment against isFenceDirty() has been removed in iHipWaitActiveStreams(now is Device::WaitActiveStreams()).

@Dustray Dustray closed this as completed Sep 30, 2024
@schung-amd
Copy link

Thanks for following up!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants