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

Make FX2 bus arbiter prevent starvation #44

Closed
whitequark opened this issue May 13, 2018 · 2 comments
Closed

Make FX2 bus arbiter prevent starvation #44

whitequark opened this issue May 13, 2018 · 2 comments
Assignees
Labels
gateware Component: gateware
Milestone

Comments

@whitequark
Copy link
Member

Use a leaky bucket algorithm to limit per-FIFO bursts to 16 bytes (or a configurable value).

@whitequark whitequark added this to the Preview 1 milestone May 13, 2018
@whitequark whitequark added the gateware Component: gateware label May 13, 2018
@whitequark whitequark self-assigned this May 13, 2018
whitequark added a commit that referenced this issue Oct 8, 2018
Fixes #47.

Not exactly functional due to #44 and #64.

benchmark: running benchmark mode source for 4.000 MiB
benchmark: mode source: 4.136 MiB/s
(hangs. after restart:)
benchmark: running benchmark mode sink for 4.000 MiB
benchmark: mode sink: 1.394 MiB/s
(hangs. after restart:)
benchmark: running benchmark mode loopback for 4.000 MiB
(hangs)
@whitequark
Copy link
Member Author

Actually, the FX2 arbiter does not cause starvation. It only looked like it did because of a deadlock in the host code, which was fixed in e59730f.

@whitequark
Copy link
Member Author

Though, that being said, the arbiter is not particularly fair, but it seems pretty much sufficient for now.

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

No branches or pull requests

1 participant