gpt4 book ai didi

linux - 如何在 linux 中给予以太网中断最高优先级

转载 作者:IT王子 更新时间:2023-10-29 01:15:19 25 4
gpt4 key购买 nike

我列出了所有中断:

cat /proc/interruts

它给出了这个:

        CPU0        CPU1         CPU2        CPU3
0: 126 0 0 0 IO-APIC-edge timer
1: 941 0 0 0 IO-APIC-edge keyboard
... (etc.)
19: 941 0 0 0 IO-APIC-fasteoi eth0
... (etc.)

这张表的第一列是否给出了中断的优先级?我只想学习优先级,因为我想提高我的 NIC 的中断优先级以获得更好的网络性能。我认为,前两个中断不能更改(我猜是由于 intel x86 架构)。

无论如何,这是我的问题:

是否可以提高 NIC 中断的优先级?

最佳答案

vanilla 内核不会对中断进行优先级排序。这是内核开发过程中的早期设计决策。有两种方法可以解决这个问题。

首先,您可以编写一个内核模块来为您的处理器编写中断 Controller ,从而为 NIC 中断提供最高优先级。这将在硬件级别更改内核下的 NIC 中断优先级。

其次,您可以使用 PREEMPT_RT 构建内核修补并为处理 NIC 中断的内核线程提供最高优先级。

这两种方法都会增加处理网络中断的优先级。然而,这些都不可能给你更好的网络性能(不管那意味着什么),因为 IP 的大部分开销,无论是 TCP 还是 UDP 都在 IP 堆栈中,而不是在 NIC 中断的处理中。事实上,使用 PREEMPT_RT 补丁甚至可能导致网络性能下降。

关于linux - 如何在 linux 中给予以太网中断最高优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20420645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com