• Y
    alinux: sched: Introduce cfs scheduling latency histograms · 76d98609
    Yihao Wu 提交于
    to #28739709
    
    Export wait_latency in "cpuacct.wait_latency", which indicates the
    time that tasks in a cpuacct cgroup wait on a cfs_rq to be scheduled.
    
    This is like "perf sched", but it gives smaller overhead. So it can
    be used as monitor constantly.
    
    wait_latency is useful to debug application's high RT problem. It can
    tell if it's caused by scheduling or not. If it is, loadavg can tell
    if it's caused by bad scheduling bahaviour or system overloads.
    
    System admins can also use wait_latency to define SLA. To ensure SLA
    is guaranteed, there are various ways to decrease wait_latency.
    
    This feature is disabled by default for performance concerns. It can
    be switched on dynamically by "echo 0 > /proc/cpusli/sched_lat_enable"
    
    Example:
    
      $ cat /sys/fs/cgroup/cpuacct/a/cpuacct.wait_latency
        0-1ms:  4139
        1-4ms:  317
        4-7ms:  568
        7-10ms:         0
        10-100ms:       42324
        100-500ms:      9131
        500-1000ms:     95
        1000-5000ms:    134
        5000-10000ms:   0
        >=10000ms:      0
        total(ms):      4256455
    Signed-off-by: NYihao Wu <wuyihao@linux.alibaba.com>
    Acked-by: NXunlei Pang <xlpang@linux.alibaba.com>
    Reviewed-by: NShanpei Chen <shanpeic@linux.alibaba.com>
    Acked-by: NMichael Wang <yun.wang@linux.alibaba.com>
    76d98609
fair.c 275.0 KB