• 调度器40—sched_features Hello


    基于 Linux-5.10

    一、实验

    1. kernel/sched/debug.c 中将以debugfs文件导出的 sched_feat_fops 文件改为procfs导出。

    static const struct proc_ops sched_feat_proc_fops = {
        .proc_open = sched_feat_open,
        .proc_write = sched_feat_write,
        .proc_read = seq_read,
        .proc_lseek = seq_lseek,
        .proc_release = single_release,
    };
    
    proc_create("sched_features", 0644, NULL, &sched_feat_proc_fops);

    备注:5.15内核上这个文件已经默认导出来了,# cat /sys/kernel/debug/sched/features。

    2. enable/disable具体feature

    # cat /proc/sched_features
    GENTLE_FAIR_SLEEPERS START_DEBIT NO_NEXT_BUDDY LAST_BUDDY CACHE_HOT_BUDDY WAKEUP_PREEMPTION 
    NO_HRTICK NO_DOUBLE_TICK NONTASK_CAPACITY NO_TTWU_QUEUE NO_SIS_AVG_CPU SIS_PROP NO_WARN_DOUBLE_CLOCK
    RT_PUSH_IPI NO_RT_RUNTIME_SHARE NO_LB_MIN ATTACH_AGE_LOAD WA_IDLE WA_WEIGHT WA_BIAS UTIL_EST UTIL_EST_FASTUP
    ALT_PERIOD BASE_SLICE
    
    # echo NO_UTIL_EST > /proc/sched_features
    
    # echo LB_MIN > /proc/sched_features
    
    # cat /proc/sched_features
    GENTLE_FAIR_SLEEPERS START_DEBIT NO_NEXT_BUDDY LAST_BUDDY CACHE_HOT_BUDDY WAKEUP_PREEMPTION
    NO_HRTICK NO_DOUBLE_TICK NONTASK_CAPACITY NO_TTWU_QUEUE NO_SIS_AVG_CPU SIS_PROP NO_WARN_DOUBLE_CLOCK
    RT_PUSH_IPI NO_RT_RUNTIME_SHARE LB_MIN ATTACH_AGE_LOAD WA_IDLE WA_WEIGHT WA_BIAS NO_UTIL_EST UTIL_EST_FASTUP
    ALT_PERIOD BASE_SLICE
  • 相关阅读:
    大爽Python入门教程 3-1 布尔值: True, False
    以太坊中的账户、交易、Gas和区块Gas Limit
    全链路压力测试经验
    全链路压力测试
    腾讯大牛教你ClickHouse实时同步MySQL数据
    数据湖和数据仓库的区别?
    第六次作业
    linux CPU实时频率命令
    没有Flash如何做直播
    如何扩展srs并发能力
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/16749435.html
Copyright © 2020-2023  润新知