debugd: Add core isolation policy for supported kernels.

This adds the core isolation scheduling policy to debugd. Since only
some kernels support core isolation scheduling, debugd probes the
feature and falls back to conservative if core-isolation does not exist.
Users who want SMT no matter what should pass `performance`.

BUG=b:152605392
TEST=tast run 127.0.0.1:2023 debugd.CoreScheduler

Change-Id: I04280e6c8d68bf372963335e983dfda545efeefe
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2216562
Tested-by: Greg Kerr <kerrnel@chromium.org>
Commit-Queue: Greg Kerr <kerrnel@chromium.org>
Reviewed-by: Joel Fernandes <joelaf@google.com>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Auto-Submit: Greg Kerr <kerrnel@chromium.org>
Cr-Mirrored-From: https://chromium.googlesource.com/chromiumos/platform2
Cr-Mirrored-Commit: 31029766c69eb16b97251cc09ac2ef81a7313fc7
1 file changed
tree: cf4451cd8516be86f99d1bc401f8de50dcf148f2
  1. constants/
  2. dbus/
  3. src/
  4. switches/
  5. .gitignore
  6. BUILD.gn
  7. build.rs
  8. Cargo.toml
  9. LICENSE
  10. OWNERS
  11. README.md
  12. system_api.pc
README.md

This directory (platform2/system_api) contains constants and definitions like D-Bus service names that are shared between Chromium and Chromium OS.

This directory is only for things like headers and .proto files. No implementation should be added.

When writting a .proto file make sure to use:

option optimize_for = LITE_RUNTIME;

This will force usage of a lite protobuf instead of a full/heavy weight protobuf. The browser only links against the light version, so you will get cryptic link errors about missing parts of Message if you define a protobuf here and then try to use it in Chrome. Currently CrOS links against the full protobuffer library, but that might change in the future.

When declaring a protobuf, avoid use of required unless it is exactly what you mean. “Required is Forever” and very rarely should actually be used. Consult Protocol Buffer Basics: C++ for a detailed of this issue.