Skip to content

fix(vstu): Compare counters instead of pointers in B handling - #481

Merged
hopang-0221 merged 2 commits into
mainfrom
cr/vstu-overrun
Aug 6, 2026
Merged

fix(vstu): Compare counters instead of pointers in B handling#481
hopang-0221 merged 2 commits into
mainfrom
cr/vstu-overrun

Conversation

@creinwar

@creinwar creinwar commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

This PR fixes a subtle bug in the vector store unit, which can deadlock Ara if all store instructions in the queue are issued before any of them get committed.

Changelog

Fixed

  • Instead of comparing the ringbuffer pointers for pending issues and pending commits, this compares the respective counter values. Since the counters are one bit larger than the pointers, this covers the case where issue_pnt is VInsnQueueDepth instructions ahead of commit_pnt (i.e., issue_pnt == commit_pnt but issue_cnt == '0 and commit_cnt == VInsnQueueDepth).

Checklist

  • Automated tests pass
  • Changelog updated
  • Code style guideline is observed

@creinwar
creinwar marked this pull request as ready for review August 5, 2026 20:02

@Navaneeth-KunhiPurayil Navaneeth-KunhiPurayil left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@hopang-0221

Copy link
Copy Markdown
Collaborator

LGTM! :)

@hopang-0221
hopang-0221 merged commit 3b10f54 into main Aug 6, 2026
205 checks passed
@hopang-0221
hopang-0221 deleted the cr/vstu-overrun branch August 6, 2026 09:55
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.

3 participants