我修改网卡驱动中分配rx数据包的dev_alloc_skb函数为什么驱动性能提高100%???
我将dev_alloc_skb函数中的GFP_ATOMIC修改为GFP_ATOMIC|GFP_DMA,驱动的性能马上提高很多。
我看了源码,好像是skb数据部分被放在DMA内存中了,为什么linux内核源码不用GFP_ATOMIC|GFP_DMA,而用GFP_ATOMIC ??? 为什么不用DMA方式 ???
还有为什么这样做会把性能提高这么多 ??? 硬件是82551ER
是不是网卡驱动通过这种方式都可以提高性能,这样做有什么坏处 ???