如何在Linux中给予以太网中断的最高优先级

我列出了所有的中断:

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.) 

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

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

是否有可能提高我的网卡的中断优先级?

Solutions Collecting From Web of "如何在Linux中给予以太网中断的最高优先级"

香草核不优先中断。 这是内核开发的早期设计决定。 有两种方法可以解决这个问题。

首先,您可以编写一个内核模块来编程处理器的中断控制器,使NIC中断的优先级最高。 这将在硬件级别更改内核下的NIC中断优先级。

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

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