- Start Date: 2023-08-22
- RFC PR: amaranth-lang/rfcs#19
- Amaranth Issue: amaranth-lang/amaranth#874
Remove amaranth.lib.scheduler
Summary
Remove amaranth.lib.scheduler
and the only class RoundRobin
in it.
Motivation
This module is not used in the sole place for which it was added (Amaranth SoC), it is not especially useful, and it has not undergone proper community review when it was added.
Guide-level explanation
The module amaranth.lib.scheduler
and the sole class RoundRobin
in it is removed. To continue using it, copy the contents of the module into your own project.
Reference-level explanation
The class amaranth.lib.scheduler.RoundRobin
is deprecated in Amaranth 0.4 and removed in Amaranth 0.5.
Drawbacks
- Churn.
Rationale and alternatives
- This module is out of place in the standard library.
- It has not seen much use and is trivially implemented outside of it.
- Downstream consumers tend to inline the logic anyway.
- It does not seem like there would be any other uses for the
amaranth.lib.scheduler
module since any other scheduling algorithm would be more closely tied to the consumer.
Unresolved questions
None.
Future possibilities
None.