Skip to content

improve maitake timer wheel #1329

improve maitake timer wheel

improve maitake timer wheel #1329

Triggered via pull request January 28, 2024 20:19
Status Failure
Total duration 5m 17s
Artifacts

ci.yml

on: pull_request
changed_paths
8s
changed_paths
cargo check (host)
1m 58s
cargo check (host)
rustfmt
19s
rustfmt
clippy
2m 3s
clippy
cargo test (host)
4m 55s
cargo test (host)
build boot image (x86_64)
1m 31s
build boot image (x86_64)
cargo test (cross x64)
1m 59s
cargo test (cross x64)
docs
2m 11s
docs
Loom tests (cordyceps)
1m 36s
Loom tests (cordyceps)
Miri tests (codyceps)
2m 11s
Miri tests (codyceps)
Tests (maitake, no-default-features)
1m 44s
Tests (maitake, no-default-features)
Loom tests (maitake)
4m 17s
Loom tests (maitake)
Loom tests (mycelium-util)
1m 13s
Loom tests (mycelium-util)
Fit to window
Zoom out
Zoom in

Annotations

20 errors and 29 warnings
build boot image (x86_64)
Process completed with exit code 101.
Tests (maitake, no-default-features)
Process completed with exit code 101.
cargo check (host): src/rt.rs#L55
error[E0308]: mismatched types --> src/rt.rs:55:50 | 55 | pub static TIMER: time::Timer = time::Timer::new(arch::interrupt::TIMER_INTERVAL); | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&dyn Clock`, found `Duration` | | | arguments to this function are incorrect | = note: expected reference `&(dyn Clock + 'static)` found struct `Duration` note: associated function defined here --> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16 | 298 | pub fn new(clock: &'clock dyn Clock) -> Self { | ^^^
cargo check (host): src/rt.rs#L55
error[E0308]: mismatched types --> src/rt.rs:55:50 | 55 | pub static TIMER: time::Timer = time::Timer::new(arch::interrupt::TIMER_INTERVAL); | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&dyn Clock`, found `Duration` | | | arguments to this function are incorrect | = note: expected reference `&(dyn Clock + 'static)` found struct `Duration` note: associated function defined here --> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16 | 298 | pub fn new(clock: &'clock dyn Clock) -> Self { | ^^^
cargo check (host)
Process completed with exit code 1.
cargo test (cross x64)
Process completed with exit code 101.
clippy: src/rt.rs#L55
error[E0308]: mismatched types --> src/rt.rs:55:50 | 55 | pub static TIMER: time::Timer = time::Timer::new(arch::interrupt::TIMER_INTERVAL); | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&dyn Clock`, found `Duration` | | | arguments to this function are incorrect | = note: expected reference `&(dyn maitake::time::Clock + 'static)` found struct `std::time::Duration` note: associated function defined here --> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16 | 298 | pub fn new(clock: &'clock dyn Clock) -> Self { | ^^^
clippy: src/rt.rs#L55
error[E0308]: mismatched types --> src/rt.rs:55:50 | 55 | pub static TIMER: time::Timer = time::Timer::new(arch::interrupt::TIMER_INTERVAL); | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&dyn Clock`, found `Duration` | | | arguments to this function are incorrect | = note: expected reference `&(dyn maitake::time::Clock + 'static)` found struct `std::time::Duration` note: associated function defined here --> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16 | 298 | pub fn new(clock: &'clock dyn Clock) -> Self { | ^^^
clippy
Process completed with exit code 1.
docs: maitake/src/time/clock.rs#L39
error: missing documentation for a method --> maitake/src/time/clock.rs:39:5 | 39 | fn tick_duration(&self) -> Duration; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `-D missing-docs` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(missing_docs)]`
docs: maitake/src/time/clock.rs#L42
error: missing documentation for a method --> maitake/src/time/clock.rs:42:5 | 42 | fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L48
error: missing documentation for a method --> maitake/src/time/clock.rs:48:5 | 48 | fn max_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/timer.rs#L307
error: missing documentation for a method --> maitake/src/time/timer.rs:307:5 | 307 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/timer.rs#L65
error: unresolved link to `Timer::advance` --> maitake/src/time/timer.rs:65:58 | 65 | /// must be driven by a *time source*, which calls the [`Timer::advance`] method | ^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `advance` | = note: `-D rustdoc::broken-intra-doc-links` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(rustdoc::broken_intra_doc_links)]`
docs: maitake/src/time/timer.rs#L66
error: unresolved link to `Timer::force_advance` --> maitake/src/time/timer.rs:66:47 | 66 | /// and/or the [`Timer::pend_duration`] and [`Timer::force_advance`] methods. | ^^^^^^^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `force_advance`
docs: maitake/src/time/timer.rs#L86
error: unresolved link to `Timer::advance` --> maitake/src/time/timer.rs:86:7 | 86 | /// [`Timer::advance`] methods. | ^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `advance`
docs: maitake/src/time/timer.rs#L88
error: unresolved link to `Timer::advance` --> maitake/src/time/timer.rs:88:7 | 88 | /// [`Timer::advance`] will attempt to optimistically acquire a spinlock, and | ^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `advance`
docs: maitake/src/time/timer.rs#L99
error: unresolved link to `Timer::force_advance_ticks` --> maitake/src/time/timer.rs:99:7 | 99 | /// [`Timer::force_advance_ticks`] method periodically outside of the interrupt | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `force_advance_ticks`
docs: maitake/src/time/timer.rs#L115
error: unresolved link to `Timer::advance_ticks` --> maitake/src/time/timer.rs:115:7 | 115 | /// [`Timer::advance_ticks`]`(1)` or [`Timer::pend_ticks`]`(1)` in the interrupt | ^^^^^^^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `advance_ticks`
cargo test (host)
Process completed with exit code 101.
Loom tests (mycelium-util)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Loom tests (cordyceps)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
cargo check (host): maitake/src/time/clock.rs#L161
warning: unused variable: `earlier` --> maitake/src/time/clock.rs:161:42 | 161 | pub fn checked_duration_since(&self, earlier: Instant) -> Option<Duration> { | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_earlier` | = note: `#[warn(unused_variables)]` on by default
cargo check (host): maitake/src/time/clock.rs#L177
warning: unused variable: `duration` --> maitake/src/time/clock.rs:177:31 | 177 | pub fn checked_add(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
cargo check (host): maitake/src/time/clock.rs#L186
warning: unused variable: `duration` --> maitake/src/time/clock.rs:186:31 | 186 | pub fn checked_sub(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
cargo check (host): maitake/src/time/clock.rs#L39
warning: missing documentation for a method --> maitake/src/time/clock.rs:39:5 | 39 | fn tick_duration(&self) -> Duration; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the lint level is defined here --> maitake/src/time.rs:45:9 | 45 | #![warn(missing_docs, missing_debug_implementations)] | ^^^^^^^^^^^^
cargo check (host): maitake/src/time/clock.rs#L42
warning: missing documentation for a method --> maitake/src/time/clock.rs:42:5 | 42 | fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): maitake/src/time/clock.rs#L48
warning: missing documentation for a method --> maitake/src/time/clock.rs:48:5 | 48 | fn max_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): maitake/src/time/timer.rs#L307
warning: missing documentation for a method --> maitake/src/time/timer.rs:307:5 | 307 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
clippy
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
clippy: maitake/src/time/clock.rs#L161
warning: unused variable: `earlier` --> maitake/src/time/clock.rs:161:42 | 161 | pub fn checked_duration_since(&self, earlier: Instant) -> Option<Duration> { | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_earlier` | = note: `#[warn(unused_variables)]` on by default
clippy: maitake/src/time/clock.rs#L177
warning: unused variable: `duration` --> maitake/src/time/clock.rs:177:31 | 177 | pub fn checked_add(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
clippy: maitake/src/time/clock.rs#L186
warning: unused variable: `duration` --> maitake/src/time/clock.rs:186:31 | 186 | pub fn checked_sub(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
clippy: maitake/src/time/clock.rs#L94
warning: this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]` --> maitake/src/time/clock.rs:94:1 | 94 | / pub(in crate::time) fn dur_to_ticks( 95 | | tick_duration: Duration, 96 | | dur: Duration, 97 | | ) -> Result<Ticks, TimerError> { | |______________________________^ | = help: either add some descriptive text or remove the attribute = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_must_use = note: `#[warn(clippy::double_must_use)]` on by default
clippy: maitake/src/time/clock.rs#L39
warning: missing documentation for a method --> maitake/src/time/clock.rs:39:5 | 39 | fn tick_duration(&self) -> Duration; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the lint level is defined here --> maitake/src/time.rs:45:9 | 45 | #![warn(missing_docs, missing_debug_implementations)] | ^^^^^^^^^^^^
clippy: maitake/src/time/clock.rs#L42
warning: missing documentation for a method --> maitake/src/time/clock.rs:42:5 | 42 | fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^
clippy: maitake/src/time/clock.rs#L48
warning: missing documentation for a method --> maitake/src/time/clock.rs:48:5 | 48 | fn max_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
clippy: maitake/src/time/timer.rs#L307
warning: missing documentation for a method --> maitake/src/time/timer.rs:307:5 | 307 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Miri tests (codyceps)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
docs
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
docs: maitake/src/time/clock.rs#L161
warning: unused variable: `earlier` --> maitake/src/time/clock.rs:161:42 | 161 | pub fn checked_duration_since(&self, earlier: Instant) -> Option<Duration> { | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_earlier` | = note: `#[warn(unused_variables)]` on by default
docs: maitake/src/time/clock.rs#L177
warning: unused variable: `duration` --> maitake/src/time/clock.rs:177:31 | 177 | pub fn checked_add(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
docs: maitake/src/time/clock.rs#L186
warning: unused variable: `duration` --> maitake/src/time/clock.rs:186:31 | 186 | pub fn checked_sub(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
docs: maitake/src/time/clock.rs#L39
warning: missing documentation for a method --> maitake/src/time/clock.rs:39:5 | 39 | fn tick_duration(&self) -> Duration; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the lint level is defined here --> maitake/src/time.rs:45:9 | 45 | #![warn(missing_docs, missing_debug_implementations)] | ^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L42
warning: missing documentation for a method --> maitake/src/time/clock.rs:42:5 | 42 | fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L48
warning: missing documentation for a method --> maitake/src/time/clock.rs:48:5 | 48 | fn max_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/timer.rs#L307
warning: missing documentation for a method --> maitake/src/time/timer.rs:307:5 | 307 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Loom tests (maitake)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
cargo test (host)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.