在Linux内核中,线程调度是实时的(例如SCHED_FIFO)和普通的(SCHED_NORMAL)。

如果我想创建一个实时线程,该怎么做? 我想是的:

1,kthread_create

2,给线程一个实时调度程序

3,分配实时优先级

这对于实时kthread是否正常?

===============>>#1 票数:7 已采纳

在线程本身,调用:

struct sched_param param = { .sched_priority = prio };
sched_setscheduler(current, SCHED_FIFO, &param);

prio是你想要的优先事项。

  ask by Bill Wang translate from so

未解决问题?本站智能推荐:

1回复

实时任务期

我对“任务期”的确切含义感到困惑 例如,假设有一个任务, 假设它是在时间0释放的,它的总执行时间是4个时间单位(“做某事”的一部分),执行的截止日期是时间7 假设此任务在其执行周期中没有被抢占,因此,此时间段的周期为4 + 6 = 10,因此下一次它将在时间10释放,因此T
1回复

Linux内核2.4.27中的“ Niceness”和“ Goodness”之间的区别

我正在尝试了解任务调度程序的Linux内核代码。 我无法弄清楚什么是善良值以及与善良有何不同? 另外,它们每个人如何有助于调度?
1回复

在Linux(2.6.32)上不可抢占的进程

我正在尝试使进程不可抢占。 我已将调度程序策略更改为SCHED_FIFO ,并将rtprio设置为99。在进程启动后,在没有IO中断的情况下,我是否可以确保该进程不会被其他进程抢占? rtprio = 99是最高优先级,还是内核的某些进程具有更高优先级? 最后,我怎么知道一个进程在执行过程
1回复

检查在代码的两点之间是否在Linux中发生了抢占

我有一个运行在Linux内核之上的应用程序(简单的C代码)。 我正在测量代码两点之间的时间。 我想知道是否有其他进程或调度程序本身在这两点之间抢占了我的应用程序。 有没有办法找到这个。
2回复

从linux内核中产生

我在Linux(3.4)中有一个实时线程。 在某些条件下,我希望它将控制权放弃到具有相同优先级的其他线程,即使它还没有完成使用其当前时间片。 我在考虑使用以下代码: 但是,我没有看到代码中有其他人这样做,让我觉得还有其他(更好的?)方式。 有没有标准的方法来做到这一点?
1回复

Kthread和Schedule()降低了代码速度。 或者如何在内核中睡眠

使用module_init我创建并唤醒了一个kthread。 为了使它保持活动状态并完成我的功能任务,我使用了以下方法。 这是我可以使其运行的唯一方法,因为我正在中断中更改标志。 现在,我正面临代码性能的惊人下降。 我将问题缩小到以下代码段: 有关降低性能的详细信息:在不使用包含
2回复

python中调度线程的实现

我需要以下架构: 即,调度程序线程通过“调度”队列从调度线程接收数据,并且每当满足最后期限时,将它们推入“截止时间”队列。 侦听“最后期限”队列的客户端将在所需时间接收事件。 我担心scheduler-thread的实现可能会很复杂,因为它需要做两件事: 听“时间表
2回复

Linux内核:schedule()函数

我在论坛上看到了几个关于这个schedule()函数的问题,但我的问题有点不同。 我已经看过几个关于它的理论,算法和实现方面的讨论和文献。 不清楚的问题和被问到的问题是执行方面。 当然,深入查看内核的源代码并进行所有必需的调试,跟踪bla bla ...可能会回答这个问题,但重新发明轮
2回复

哪些任务与Linux内核调度程序相对应?

在内核级别的Linux中,我们具有线程/任务(属于内核和用户),例如, swapper:是内核线程(进程0),是所有进程的始祖,在Linux的初始化阶段由start_kernel()函数从头开始创建。 也 init:一个附加的内核线程,进程1(init进程) HelloWor
1回复

测量任务在linux中2点之间花费的时间(任务分析)

我很快就会开始在墙上敲我的头: 这很简单,我想测量一个任务花费2点之间的时间(在Linux中 - 1核 - 1个CPU)。 在此期间,任务必须完全控制CPU,并且不会被任何其他任务或HW中断中断。 为实现这一目标,我创建了一个内核模块,以确保满足上述标准。 在这个内核模块中,我试