Skip to content

feat(acpi): support shutdown of HW-reduced ACPI platforms - #2668

Draft
mkroening wants to merge 6 commits into
mainfrom
acpi-shutdown
Draft

feat(acpi): support shutdown of HW-reduced ACPI platforms#2668
mkroening wants to merge 6 commits into
mainfrom
acpi-shutdown

Conversation

@mkroening

Copy link
Copy Markdown
Member

This makes our ACPI shutdown procedure more conformant and adds support for shutting down HW-reduced ACPI platforms such as Cloud Hypervisor.

Closes #2649.

Depends on:

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: c983f43 Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 93.22 s 80.34 s 1.16
startup_benchmark File Size 0.84 MB 0.80 MB 1.05
Startup Time - 1 core 0.71 s (±0.01 s) 0.75 s (±0.02 s) 0.95
Startup Time - 2 cores 0.72 s (±0.01 s) 0.74 s (±0.02 s) 0.97
Startup Time - 4 cores 0.72 s (±0.02 s) 0.74 s (±0.02 s) 0.97
multithreaded_benchmark Build Time 93.13 s 82.11 s 1.13
multithreaded_benchmark File Size 0.94 MB 0.86 MB 1.10
Multithreaded Pi Efficiency - 2 Threads 68.41 % (±5.55 %) 85.89 % (±6.61 %) 0.80
Multithreaded Pi Efficiency - 4 Threads 42.15 % (±2.23 %) 43.43 % (±2.56 %) 0.97
Multithreaded Pi Efficiency - 8 Threads 20.28 % (±1.14 %) 25.76 % (±1.53 %) 0.79
micro_benchmarks Build Time 222.72 s 80.40 s 2.77
micro_benchmarks File Size 0.94 MB 0.86 MB 1.10
Scheduling time - 1 thread 195.92 ticks (±29.61 ticks) 62.65 ticks (±4.06 ticks) 3.13
Scheduling time - 2 threads 106.43 ticks (±16.23 ticks) 34.08 ticks (±4.10 ticks) 3.12
Micro - Time for syscall (getpid) 8.87 ticks (±5.36 ticks) 3.45 ticks (±0.58 ticks) 2.57
Memcpy speed - (built_in) block size 4096 58016.13 MByte/s (±41414.17 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 0.70
Memcpy speed - (built_in) block size 1048576 13863.03 MByte/s (±11310.97 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 0.45
Memcpy speed - (built_in) block size 16777216 11927.58 MByte/s (±9886.65 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 0.45
Memset speed - (built_in) block size 4096 58404.95 MByte/s (±41693.47 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 0.71
Memset speed - (built_in) block size 1048576 14175.28 MByte/s (±11485.16 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 0.45
Memset speed - (built_in) block size 16777216 12221.84 MByte/s (±10061.43 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 0.45
Memcpy speed - (rust) block size 4096 56173.84 MByte/s (±39583.13 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 0.76
Memcpy speed - (rust) block size 1048576 13669.53 MByte/s (±11595.01 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 0.45
Memcpy speed - (rust) block size 16777216 12214.83 MByte/s (±10243.75 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 0.44
Memset speed - (rust) block size 4096 56602.00 MByte/s (±39881.49 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 0.76
Memset speed - (rust) block size 1048576 14001.28 MByte/s (±11771.96 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 0.45
Memset speed - (rust) block size 16777216 12490.88 MByte/s (±10390.77 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 0.44
alloc_benchmarks Build Time 218.42 s 74.76 s 2.92
alloc_benchmarks File Size 0.92 MB 0.87 MB 1.05
Allocations - Allocation success 91.37 % 91.31 % 1.00
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 61.61 % 61.44 % 1.00
Allocations - Average Allocation time 14429.53 Ticks (±2276.68 Ticks) 5860.58 Ticks (±98.43 Ticks) 2.46
Allocations - Average Allocation time (no fail) 16425.35 Ticks (±2317.94 Ticks) 6554.81 Ticks (±92.86 Ticks) 2.51
Allocations - Average Deallocation time 6918.72 Ticks (±1218.57 Ticks) 1805.01 Ticks (±250.35 Ticks) 3.83
mutex_benchmark Build Time 220.68 s 79.82 s 2.76
mutex_benchmark File Size 0.95 MB 0.86 MB 1.10
Mutex Stress Test Average Time per Iteration - 1 Threads 35.54 ns (±5.71 ns) 12.10 ns (±0.41 ns) 2.94
Mutex Stress Test Average Time per Iteration - 2 Threads 30.10 ns (±6.44 ns) 40.26 ns (±1.68 ns) 0.75

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

@mkroening

Copy link
Copy Markdown
Member Author

I have rebased on the AML interpreter drop, and I dropped d5dea66 and 82e872e.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Modern ACPI shutdown is missing

1 participant