• Qais Yousef's avatar
    sched/rt: Make RT capacity-aware · 804d402f
    Qais Yousef authored
    Capacity Awareness refers to the fact that on heterogeneous systems
    (like Arm big.LITTLE), the capacity of the CPUs is not uniform, hence
    when placing tasks we need to be aware of this difference of CPU
    capacities.
    
    In such scenarios we want to ensure that the selected CPU has enough
    capacity to meet the requirement of the running task. Enough capacity
    means here that capacity_orig_of(cpu) >= task.requirement.
    
    The definition of task.requirement is dependent on the scheduling class.
    
    For CFS, utilization is used to select a CPU that has >= capacity value
    than the cfs_task.util.
    
    	capacity_orig_of(cpu) >= cfs_task.util
    
    DL isn't capacity aware at the moment but can make use of the bandwidth
    reservation to implement that in a similar manner CFS uses utilization.
    The following patchset implements that:
    
    https://lore.kernel.org/lkml/20190506044836.2914-1-luca.abeni@santannapisa.it/
    
    	capacity_orig_of(cpu)/SCHED_CAPACITY >= dl_deadline/dl_runtime
    
    For RT we don't have a per tas...
    804d402f
rt.c 64.7 KB