Skip to content

improve maitake timer wheel #1330

improve maitake timer wheel

improve maitake timer wheel #1330

Triggered via pull request January 30, 2024 01:14
@hawkwhawkw
synchronize #475
eliza/clocky
Status Failure
Total duration 5m 42s
Artifacts

ci.yml

on: pull_request
changed_paths
6s
changed_paths
cargo check (host)
2m 14s
cargo check (host)
rustfmt
19s
rustfmt
clippy
2m 19s
clippy
cargo test (host)
5m 20s
cargo test (host)
build boot image (x86_64)
1m 29s
build boot image (x86_64)
cargo test (cross x64)
1m 41s
cargo test (cross x64)
docs
2m 4s
docs
Loom tests (cordyceps)
1m 43s
Loom tests (cordyceps)
Miri tests (codyceps)
2m 17s
Miri tests (codyceps)
Tests (maitake, no-default-features)
1m 57s
Tests (maitake, no-default-features)
Loom tests (maitake)
1m 51s
Loom tests (maitake)
Loom tests (mycelium-util)
1m 1s
Loom tests (mycelium-util)
Fit to window
Zoom out
Zoom in

Annotations

21 errors and 32 warnings
build boot image (x86_64)
Process completed with exit code 101.
cargo test (cross x64)
Process completed with exit code 101.
Loom tests (maitake)
Process completed with exit code 100.
Tests (maitake, no-default-features)
Process completed with exit code 101.
docs: maitake/src/time/clock.rs#L94
error: missing documentation for an associated function --> maitake/src/time/clock.rs:94:5 | 94 | pub const fn new(now: fn() -> Ticks, tick_duration: Duration) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `-D missing-docs` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(missing_docs)]`
docs: maitake/src/time/clock.rs#L104
error: missing documentation for a method --> maitake/src/time/clock.rs:104:5 | 104 | pub fn tick_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L109
error: missing documentation for a method --> maitake/src/time/clock.rs:109:5 | 109 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L115
error: missing documentation for a method --> maitake/src/time/clock.rs:115:5 | 115 | pub 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/clock.rs#L56
error: public documentation for `Clock` links to private item `Ticks` --> maitake/src/time/clock.rs:56:20 | 56 | /// timestamp in [`Ticks`], and a [`Duration`] that defines the amount of time | ^^^^^ this item is private | = note: this link will resolve properly if you pass `--document-private-items` = note: `-D rustdoc::private-intra-doc-links` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(rustdoc::private_intra_doc_links)]`
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`
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 `Clock`, found `Duration` | | | arguments to this function are incorrect | note: associated function defined here --> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16 | 298 | pub fn new(clock: 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 `Clock`, found `Duration` | | | arguments to this function are incorrect | note: associated function defined here --> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16 | 298 | pub fn new(clock: Clock) -> Self { | ^^^
cargo check (host)
Process completed with exit code 1.
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 `Clock`, found `Duration` | | | arguments to this function are incorrect | note: associated function defined here --> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16 | 298 | pub fn new(clock: 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 `Clock`, found `Duration` | | | arguments to this function are incorrect | note: associated function defined here --> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16 | 298 | pub fn new(clock: Clock) -> Self { | ^^^
clippy
Process completed with exit code 1.
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/.
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/.
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#L199
warning: unused variable: `earlier` --> maitake/src/time/clock.rs:199:42 | 199 | 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#L215
warning: unused variable: `duration` --> maitake/src/time/clock.rs:215:31 | 215 | 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#L224
warning: unused variable: `duration` --> maitake/src/time/clock.rs:224:31 | 224 | 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#L94
warning: missing documentation for an associated function --> maitake/src/time/clock.rs:94:5 | 94 | pub const fn new(now: fn() -> Ticks, tick_duration: Duration) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 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#L104
warning: missing documentation for a method --> maitake/src/time/clock.rs:104:5 | 104 | pub fn tick_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L109
warning: missing documentation for a method --> maitake/src/time/clock.rs:109:5 | 109 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L115
warning: missing documentation for a method --> maitake/src/time/clock.rs:115:5 | 115 | pub 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 { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): maitake/src/time/clock.rs#L199
warning: unused variable: `earlier` --> maitake/src/time/clock.rs:199:42 | 199 | 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#L215
warning: unused variable: `duration` --> maitake/src/time/clock.rs:215:31 | 215 | 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#L224
warning: unused variable: `duration` --> maitake/src/time/clock.rs:224:31 | 224 | 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#L94
warning: missing documentation for an associated function --> maitake/src/time/clock.rs:94:5 | 94 | pub const fn new(now: fn() -> Ticks, tick_duration: Duration) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 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#L104
warning: missing documentation for a method --> maitake/src/time/clock.rs:104:5 | 104 | pub fn tick_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): maitake/src/time/clock.rs#L109
warning: missing documentation for a method --> maitake/src/time/clock.rs:109:5 | 109 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): maitake/src/time/clock.rs#L115
warning: missing documentation for a method --> maitake/src/time/clock.rs:115:5 | 115 | pub 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 { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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/.
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#L199
warning: unused variable: `earlier` --> maitake/src/time/clock.rs:199:42 | 199 | 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#L215
warning: unused variable: `duration` --> maitake/src/time/clock.rs:215:31 | 215 | 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#L224
warning: unused variable: `duration` --> maitake/src/time/clock.rs:224:31 | 224 | 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#L132
warning: this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]` --> maitake/src/time/clock.rs:132:1 | 132 | / pub(in crate::time) fn dur_to_ticks( 133 | | tick_duration: Duration, 134 | | dur: Duration, 135 | | ) -> 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#L94
warning: missing documentation for an associated function --> maitake/src/time/clock.rs:94:5 | 94 | pub const fn new(now: fn() -> Ticks, tick_duration: Duration) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 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#L104
warning: missing documentation for a method --> maitake/src/time/clock.rs:104:5 | 104 | pub fn tick_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
clippy: maitake/src/time/clock.rs#L109
warning: missing documentation for a method --> maitake/src/time/clock.rs:109:5 | 109 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
clippy: maitake/src/time/clock.rs#L115
warning: missing documentation for a method --> maitake/src/time/clock.rs:115:5 | 115 | pub 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 { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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/.