Linux内核 sched,在linux内核中使用stop_sched_class有什么用处

在内核中使用stop_sched_class有什么用?在pick_next_task函数中,调度程序将首先从stop_sched_class中选择下一个任务.有没有问题我为内核删除了这个sched_class?

#define for_each_class(class) \

for (class = sched_class_highest; class; class = class->next)

#define sched_class_highest (&stop_sched_class)

extern const struct sched_class stop_sched_class;

/*

* Simple, special scheduling class for the per-CPU stop tasks:

*/

const struct sched_class stop_sched_class = {

.next = &rt_sched_class,

.enqueue_task = enqueue_task_stop,

.dequeue_task = dequeue_task_stop,

.yield_task = yield_task_stop,

.check_preempt_curr = check_preempt_curr_stop,

.pick_next_task = pick_next_task_stop,

.put_prev_task = put_prev_task_stop,

#ifdef CONFIG_SMP

.select_task_rq = select_task_rq_stop,

#endif

.set_curr_task = set_curr_task_stop,

.task_tick = task_tick_stop,

.get_rr_interval = get_rr_interval_stop,

.prio_changed = prio_changed_stop,

.switched_to = switched_to_stop,

};

解决方法:

stop_sched_class用于停止cpu,在SMP系统上使用,用于负载均衡和cpu hotplug.此类具有最高的调度优先级.

如果您的系统没有定义CONFIG_SMP,您可以尝试删除此类,需要更改几个文件才能成功编译.

标签:linux,linux-kernel

来源: https://codeday.me/bug/20190629/1328404.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值