softirq

    8热度

    1回答

    类似于系统调用如何工作int 0x80,是否有可能在内核中实现我自己的ISR,以便在softirq上假设int 0x120或与任何其他softirq程序计数器可以从用户空间跳到内核空间? 在特权模式下进入内核仅与int 0x80相关联,或者与任何softirq实现关联,我可以自动进入特权模式或禁用保护模式并进入特权模式,我们必须通过写入其关联标志手动进行操作。 还有一件事,如果有可能实现这种类型的

    0热度

    1回答

    有两个C++进程,每个进程中有一个线程。该线程处理来自32个传入TCP连接的网络流量(Diameter),解析它并通过32个传出TCP连接转发拆分消息。我们把这个C++过程称为DiameterFE。 如果只有一个DiameterFE进程正在运行,它可以处理70 000条消息/秒。 如果两个DiameterFE进程正在运行,它们每个可以处理35 000条消息/秒,所以总共有70 000条消息/秒。

    0热度

    1回答

    最近我研究了Robert Love的Linux-Kernel-Development。 有一段描述softirq的机制。 的软中断处理程序启用中断运行,无法入睡。 处理程序运行时,当前处理器上的softirqs被禁用。 但是,另一个处理器可以执行其他softirq。 我不明白的意思是“在当前处理器上软中断被禁用。” 这是否意味着当运行__do_softirq时,即使softirq_pending中

    1热度

    1回答

    是否可以将softirq或任何其他下半部分连接到处理器。我怀疑这可以在softirq代码中完成。 但是,在驱动程序内部,可以将特定的IRQ固定到内核。

    0热度

    2回答

    在Linux平台的ARM内核实现中,将tasklet中的延迟工作添加到percpu vec | vec_hi列表中。 现在从ISR执行返回时,它会去处理softirq和tasklets中的延迟工作。 现在这个延迟工作可以在IRQ启用的中断上下文中处理,或者有可以在进程上下文中处理它的ksoftirq线程。 相同的tasklet将在ksoftirq线程为percpu的同一CPU上执行。 我已经看到很

    0热度

    1回答

    在tasklet_action常规 - 同时处理来自 核心的tasklet_vec列表中的条目,我们将自动读取的atomic_read(& T->计数),我没有看到 通过了例行任何用途,什么是它的显著? if (tasklet_trylock(t)) { // check is it is not already being executed if (!atomic_read(&t->

    0热度

    1回答

    我有一个使用handle_level_irq()的IRQ。大多数情况下,ISR要求安排下半部分,但有时候,它可以确定它是虚假的,并且不希望安排下半部分(出于性能原因)。问题是,在后一种情况下,存在竞争条件。如果ISR确定它是虚假的,它将揭露中断并准备退出(注意 - 此时ISR不受desc->lock的保护)。但之后,中断在第二个CPU上被触发,第二个CPU根据handle_level_irq()抓

    1热度

    1回答

    Linux 2.6和3.8都是。 作为路由器通过3个gig文件的Linux设置 做一个顶部,%SI高达30%,但ksoftirqd正在做0%的CPU。所以问题是“什么线程处理softirq ???”我读过代码,它假设是ksoftirqd,但它是空闲的。 [不能发布图片,不够分] 这是一个会计问题? dreez

    0热度

    1回答

    什么是 “电流 - > PID” 版画低于2的情况下 1)硬中断上下文 2)软IRQ背景 我知道IRQ背景和过程的情况下,上下文不同,并且在IRQ上下文情况下,PID必须无效。但是当试图在IRQ上下文中打印“current-> pid”时,它正在打印一些有效的PID,因此产生了疑问。 请说明。 谢谢, Gopinath。