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

RequestArb: restrict concurrent number of Acquires with same set #143

Merged
merged 2 commits into from
May 7, 2024

Conversation

linjuanZ
Copy link
Member

@linjuanZ linjuanZ commented May 6, 2024

Consider a deadlock situation: given 4 ways in each slice, MSHR 0~3 are accessing separate ways, which makes all the ways occupied. At the same time, MSHR 4 already got CompData from HN, and is waiting for a free way to replace and to echo data through channel D to L1. Therefore MSHR 4 selects replacement way but fails repeatedly. If there is an incoming snoop that has the same address with MSHR 4, the snoop will be blocked because Grant message of MSHR 4 is blocked. Then CompData(s) corresponding to MSHR 0~3 could not be returned due to the blocked snoop. There goes the deadlock.

This pr breaks the deadlock by restricting the parallelism of L1 demand requests that share the same set to the number of ways.

Consider a deadlock situation: given 4 ways in each slice, MSHR 0~3 are
accessing separate ways, which makes all the ways occupied. At the same
time, MSHR 4 already got CompData from HN, and is waiting for a free way
to replace and to echo data through channel D to L1. Therefore MSHR 4
selects replacement way but fails repeatedly. If there is an incoming
snoop that has the same address with MSHR 4, the snoop will be blocked
because Grant message of MSHR 4 is blocked. Then CompData(s)
corresponding to MSHR 0~3 could not be returned due to the blocked
snoop. There goes the deadlock.
@linjuanZ linjuanZ requested a review from Kumonda221-CrO3 May 6, 2024 13:27
@Kumonda221-CrO3 Kumonda221-CrO3 force-pushed the chi-coupledl2-snp-deadlock branch from 1cad66e to b2cd68b Compare May 7, 2024 11:25
@Kumonda221-CrO3 Kumonda221-CrO3 merged commit 876a747 into chi-coupledl2 May 7, 2024
1 check passed
@Kumonda221-CrO3 Kumonda221-CrO3 deleted the chi-coupledl2-snp-deadlock branch May 7, 2024 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants