删除 .next 后添加 sched_class

问题描述

我一直在尝试向 Linux 内核添加新的调度程序。我发现要添加 sched_class,我需要将它添加到 vmlinux.lds.h 中的 SCHED_DATA。而不是编辑现在删除的 .next 变量。 根据我放入优先级列表的顺序,它会在重新启动后的启动过程中使内核崩溃。任何提示将不胜感激!

目前有效


#define SCHED_DATA              \
    STRUCT_ALIGN();             \
    __begin_sched_classes = .;      \
    *(__idle_sched_class)           \
    *(__my_sched_class)         \
    *(__fair_sched_class)           \
    *(__rt_sched_class)         \
    *(__dl_sched_class)         \
    *(__stop_sched_class)           \
    __end_sched_classes = .; 

虽然没有

#define SCHED_DATA              \
    STRUCT_ALIGN();             \
    __begin_sched_classes = .;      \
    *(__idle_sched_class)           \
    *(__fair_sched_class)           \
    *(__my_sched_class)         \
    *(__rt_sched_class)         \
    *(__dl_sched_class)         \
    *(__stop_sched_class)           \
    __end_sched_classes = .; 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)