Page MenuHomeFreeBSD

hmp(4): introduce Heterogeneous MultiProcessing support
Needs ReviewPublic

Authored by minsoochoo0122_proton.me on Tue, Apr 21, 10:21 AM.
Tags
None
Referenced Files
F153987949: D56546.id175967.diff
Sat, Apr 25, 6:53 AM
F153971850: D56546.id175963.diff
Sat, Apr 25, 4:50 AM
F153970043: D56546.id176224.diff
Sat, Apr 25, 4:34 AM
Unknown Object (File)
Fri, Apr 24, 4:58 AM

Details

Reviewers
imp
olce
adrian
Summary

Add initial support for HMP.

The hmp(4) framework sits between scheduler and providers. It aims to
forward information from provider to scheduler to enable hybrid
scheduling.

Support for controlling hardware from scheduler (e.g. Arm SCMI) will be
added later.

For now, disable this option by default and enable when it becomes
stable enough.

Sponsored by: FreeBSD Foundation

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 72454
Build 69337: arc lint + arc unit

Event Timeline

Changes from D56547:

  • Moved from struct pcpu to DPCPU so we can avoid options HMP on pcpu.
  • Reworked scores system. Since scheduler only cares about perf and eff scores, we don't need other capabilities.
  • Capacities don't need atomic operation since it is written once on boot.
  • Added sysctls.

@koinec_yahoo.co.jp Could you please work on intelhfi based on this patch series?

Thank you very much for improving the HMP code and creating the manual.

Understood. I will proceed with supporting this version.