Skip to content

Comments

docs: document features#2273

Merged
mkroening merged 9 commits intomainfrom
document-features
Feb 24, 2026
Merged

docs: document features#2273
mkroening merged 9 commits intomainfrom
document-features

Conversation

@mkroening
Copy link
Member

This PR overhauls the kernel docs and especially documents all Cargo features in Rustdoc.

Depends on #2269.

@mkroening mkroening requested a review from stlankes February 20, 2026 10:28
@mkroening mkroening self-assigned this Feb 20, 2026
Copy link
Member

@jounathaen jounathaen left a comment

Choose a reason for hiding this comment

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

¡Me gusta!

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark Results

Details
Benchmark Current: fb122b7 Previous: ba36423 Performance Ratio
startup_benchmark Build Time 100.20 s 99.84 s 1.00
startup_benchmark File Size 0.86 MB 0.86 MB 1.00
Startup Time - 1 core 0.94 s (±0.04 s) 0.95 s (±0.03 s) 1.00
Startup Time - 2 cores 0.94 s (±0.03 s) 0.94 s (±0.04 s) 1.00
Startup Time - 4 cores 0.94 s (±0.03 s) 0.94 s (±0.03 s) 1.00
multithreaded_benchmark Build Time 97.30 s 101.98 s 0.95
multithreaded_benchmark File Size 0.96 MB 0.96 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 88.93 % (±7.65 %) 87.95 % (±8.97 %) 1.01
Multithreaded Pi Efficiency - 4 Threads 43.47 % (±2.98 %) 43.71 % (±3.77 %) 0.99
Multithreaded Pi Efficiency - 8 Threads 25.49 % (±1.87 %) 25.75 % (±1.54 %) 0.99
micro_benchmarks Build Time 106.09 s 113.41 s 0.94
micro_benchmarks File Size 0.96 MB 0.96 MB 1.00
Scheduling time - 1 thread 68.90 ticks (±3.96 ticks) 70.44 ticks (±3.13 ticks) 0.98
Scheduling time - 2 threads 37.89 ticks (±4.18 ticks) 38.80 ticks (±4.01 ticks) 0.98
Micro - Time for syscall (getpid) 2.88 ticks (±0.21 ticks) 2.96 ticks (±0.25 ticks) 0.97
Memcpy speed - (built_in) block size 4096 66351.78 MByte/s (±46934.48 MByte/s) 63757.49 MByte/s (±45717.98 MByte/s) 1.04
Memcpy speed - (built_in) block size 1048576 29803.11 MByte/s (±24624.52 MByte/s) 29904.02 MByte/s (±24838.43 MByte/s) 1.00
Memcpy speed - (built_in) block size 16777216 28383.59 MByte/s (±23656.05 MByte/s) 24282.09 MByte/s (±20364.60 MByte/s) 1.17
Memset speed - (built_in) block size 4096 66622.94 MByte/s (±47105.56 MByte/s) 64464.63 MByte/s (±46158.17 MByte/s) 1.03
Memset speed - (built_in) block size 1048576 30597.31 MByte/s (±25081.82 MByte/s) 30675.24 MByte/s (±25265.98 MByte/s) 1.00
Memset speed - (built_in) block size 16777216 29159.30 MByte/s (±24094.95 MByte/s) 24989.75 MByte/s (±20807.32 MByte/s) 1.17
Memcpy speed - (rust) block size 4096 59668.28 MByte/s (±43813.08 MByte/s) 57951.97 MByte/s (±42701.92 MByte/s) 1.03
Memcpy speed - (rust) block size 1048576 29671.64 MByte/s (±24581.26 MByte/s) 29660.87 MByte/s (±24702.81 MByte/s) 1.00
Memcpy speed - (rust) block size 16777216 28355.04 MByte/s (±23641.23 MByte/s) 24327.54 MByte/s (±20483.98 MByte/s) 1.17
Memset speed - (rust) block size 4096 60515.71 MByte/s (±44342.63 MByte/s) 58849.10 MByte/s (±43243.12 MByte/s) 1.03
Memset speed - (rust) block size 1048576 30463.60 MByte/s (±25026.08 MByte/s) 30438.27 MByte/s (±25133.72 MByte/s) 1.00
Memset speed - (rust) block size 16777216 29106.61 MByte/s (±24061.01 MByte/s) 25083.65 MByte/s (±20974.76 MByte/s) 1.16
alloc_benchmarks Build Time 104.22 s 103.85 s 1.00
alloc_benchmarks File Size 0.93 MB 0.93 MB 1.00
Allocations - Allocation success 100.00 % 100.00 % 1
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 100.00 % 100.00 % 1
Allocations - Average Allocation time 12607.35 Ticks (±290.67 Ticks) 10945.56 Ticks (±920.50 Ticks) 1.15
Allocations - Average Allocation time (no fail) 12607.35 Ticks (±290.67 Ticks) 10945.56 Ticks (±920.50 Ticks) 1.15
Allocations - Average Deallocation time 1194.80 Ticks (±718.76 Ticks) 4160.29 Ticks (±686.38 Ticks) 0.29
mutex_benchmark Build Time 104.76 s 105.84 s 0.99
mutex_benchmark File Size 0.96 MB 0.96 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 12.92 ns (±0.66 ns) 12.92 ns (±0.66 ns) 1
Mutex Stress Test Average Time per Iteration - 2 Threads 15.98 ns (±1.03 ns) 15.70 ns (±0.96 ns) 1.02

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@fogti fogti left a comment

Choose a reason for hiding this comment

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

besides the typo in the first line in mman.rs, looks good.

The system calls are already public through their symbol names.
This makes them appear in docs.
@fogti
Copy link
Contributor

fogti commented Feb 23, 2026

re: CI failure:

[    0.020618][0][INFO  hermit    ] Hermit is running on common system!
[    0.022230][0][INFO  pci       ] Found virtio device with device id 0x1000
[    0.022572][0][ERROR pci       ] Virtio support is disabled.
[    0.029732][0][INFO  hermit    ] Jumping into application

If we're running on "common system", why is the FDT full of virtio devices (but virtio support disabled)?

@mkroening
Copy link
Member Author

The CI failure is spurious and not related. QEMU creates a virtio bus even though there are no devices attached.

@mkroening mkroening added this pull request to the merge queue Feb 24, 2026
Merged via the queue into main with commit 1bec4ef Feb 24, 2026
19 checks passed
@mkroening mkroening deleted the document-features branch February 24, 2026 17:07
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