mirror of
				https://github.com/edera-dev/krata.git
				synced 2025-11-03 23:29:39 +00:00 
			
		
		
		
	Power management core functionality (#217)
* feat(power-management-core): add core power management control messages for kratad Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): expose xen hypercall client publicly Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): add indexmap to kratart crate dependencies Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): implement power management core in kratart Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): bubble up runtime context in daemon/control service Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): expose performance/efficiency core data in protobuf Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): fix up some protobuf message names Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): fix up performance core heuristic Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): implement GetHostCpuTopology RPC Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): hackfix to get sysctls working with tokio Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): borrow the PowerManagementContext when calling functions belonging to it Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): remove GetHostPowerManagementPolicy RPC for now Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): implement SetHostPowerManagementPolicy RPC Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): add cpu-topology command Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * feat(power-management-core): appease format checking Signed-off-by: Ariadne Conill <ariadne@ariadne.space> * fix(runtime): cpu topology corrections --------- Signed-off-by: Ariadne Conill <ariadne@ariadne.space> Co-authored-by: Alex Zenla <alex@edera.dev>
This commit is contained in:
		@ -27,6 +27,9 @@ service ControlService {
 | 
			
		||||
    rpc WatchEvents(WatchEventsRequest) returns (stream WatchEventsReply);
 | 
			
		||||
 | 
			
		||||
    rpc PullImage(PullImageRequest) returns (stream PullImageReply);
 | 
			
		||||
 | 
			
		||||
    rpc GetHostCpuTopology(HostCpuTopologyRequest) returns (HostCpuTopologyReply);
 | 
			
		||||
    rpc SetHostPowerManagementPolicy(HostPowerManagementPolicy) returns (HostPowerManagementPolicy);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message IdentifyHostRequest {}
 | 
			
		||||
@ -200,3 +203,30 @@ message ListDevicesRequest {}
 | 
			
		||||
message ListDevicesReply {
 | 
			
		||||
    repeated DeviceInfo devices = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
enum HostCpuTopologyClass {
 | 
			
		||||
    CPU_CLASS_STANDARD = 0;
 | 
			
		||||
    CPU_CLASS_PERFORMANCE = 1;
 | 
			
		||||
    CPU_CLASS_EFFICIENCY = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message HostCpuTopologyInfo {
 | 
			
		||||
    uint32 core = 1;
 | 
			
		||||
    uint32 socket = 2;
 | 
			
		||||
    uint32 node = 3;
 | 
			
		||||
    uint32 thread = 4;
 | 
			
		||||
    HostCpuTopologyClass class = 5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message HostCpuTopologyRequest {}
 | 
			
		||||
 | 
			
		||||
message HostCpuTopologyReply {
 | 
			
		||||
    repeated HostCpuTopologyInfo cpus = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message HostPowerManagementPolicyRequest {}
 | 
			
		||||
 | 
			
		||||
message HostPowerManagementPolicy {
 | 
			
		||||
    string scheduler = 1;
 | 
			
		||||
    bool smt_awareness = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user