commit | df7b994e5615325a65c5e22f70de6ffbc80ca293 | [log] [tgz] |
---|---|---|
author | Nick Maniscalco <maniscalco@google.com> | Thu May 23 15:57:45 2019 +0000 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Thu May 23 15:57:45 2019 +0000 |
tree | 9e8f15de8cb649e45cf025c73d22d3e87b3d71a7 | |
parent | 9dd6bed312f715bd383a1cbc3923c7250464ebd1 [diff] |
[kernel][arm64] Replace arm_boot_cpu_lock with atomics During boot, the secondary CPUs need to wait for the primary to complete some initialization before they can proceed. Prior to this change, it was accomplished using a special spinlock that started in the locked state (arm_boot_cpu_lock). Now, we use an atomic integer to signal that the secondary CPUs may proceed. Why change it? Separately, spinlocks are being enhanced to keep track of the number of spinlocks held (ZX-147). For this use case, we don't really need a spinlock to synchronize with the secondary CPUs and the specialized nature of arm_boot_cpu_lock would require additional logic to ensure the spinlock count is accurate. Test: repeatedly booted vim2, qemu/arm64, and qemu/arm64+kvm(x2) Change-Id: Id1f08213c7c09d61f40a1ec41f52038cbec90f24
Pink + Purple == Fuchsia (a new operating system)
Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.
Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.
See Getting Started.
See the documentation.