commit | ec25750cc3043ba31a9c0504eae98c75fca78a20 | [log] [tgz] |
---|---|---|
author | Ed Coyne <edcoyne@google.com> | Wed Jul 08 22:04:06 2020 +0000 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Wed Jul 08 22:04:06 2020 +0000 |
tree | ce023469c4453e89ccf7af9aa48dee39d9d819b7 | |
parent | 37bc335460c1f690b4be0f75e6e00d22e048b8a5 [diff] |
[load-balancer] migrate fn, handle affine change. Handle the case, exercised in the set_migrate_fn_test, where the affinity of a thread changes when a migrate function is set. When determining if we could stay on the old cpu until delayed migration happened, in the old path we compared against available_mask in the new path we also included affinity in that decision which was incorrect. Also we should be comparing against last_cpu, not initial_cpu. It is not correct to schedule a migration on a new thread so we add in the bypass if the last_cpu is unset, which is the new thread case. This brings us inline with scheduler.cc:650 which is the main flow. Test: Ran k ut with the load-balancer enabled. Change-Id: Ia83f47412b3bca861abfb2a4d19c8796a57bd5bd Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/405375 Reviewed-by: Nick Maniscalco <maniscalco@google.com> Testability-Review: Nick Maniscalco <maniscalco@google.com> Commit-Queue: Ed Coyne <edcoyne@google.com>
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 fuchsia.dev.