Skip to content

Expose and consume finer-grained pcie root locality data in the cpu allocator #173

Description

@ffromani

Raised in #163 (comment)

We need to:

  1. consume the pcieRoot locality data in the cpu allocation algos - which requires us to go and effectively fork the cpumanager code we import and pseudo-vendor.

  2. actually having fine grained pcie Root data to feed the allocator into - this is tied to the previous overlay idea which I proposed and then ditched in expose the pcieroot device attribute finding the roots from devices #156 .

Feeding the allocator with finer-grained data is actually pretty-easy. We need to revamp the overlay concept originally added in #156. #163 merged and gives us a simple and straightforward way to feed the data, fully opt-in, using the sysfs API.

The main challenge is how to consume sub-NUMA locality data. This is also tied to the LLC affinity data. Currently we mostly borrow the cpumanager allocation code, its limitations and design decision. A prerequisite for this work is to fork that codebase.

Once we have a custom allocator which can take into account sub-NUMA locality, we can fix the pcie root locality problem and then iterate over the LLC locality data, providing better solutions.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions