Subject: Re: Low performance Intel 10GE NIC (3.2.10) on 2.6.38 Kernel

From: Alexander Duyck <[email-masked]>
Date: Thu, 07 Apr 2011 08:58:59 -0700

On 4/7/2011 4:46 AM, Eric Dumazet wrote:
> Le jeudi 07 avril 2011 à 19:15 +0800, Wei Gu a écrit :
>> Hi,
>> I compile the ixgbe driver into the kernel and run the test again and also change the copy to clone in the fw hook
>> This is the perf report while I was forwarding 150Kpps with
>> The attached file include the basic info about my test system. Please let me know if I did some thing wrong.
>>
>> +     71.91%          swapper  [kernel.kallsyms]            [k] poll_idle
>> +     10.43%          swapper  [kernel.kallsyms]            [k] intel_idle
>> -      8.00%     ksoftirqd/24  [kernel.kallsyms]            [k] _raw_spin_unlock_irqrestore
>> \u2592   - _raw_spin_unlock_irqrestore
>> \u2592      - 42.25% alloc_iova
>> \u2592           intel_alloc_iova
>> \u2592           __intel_map_single
>> \u2592           intel_map_page

I'm almost certain this is the issue here.  I am pretty sure the 
intel_map_page call indicates that you are running with the Intel IOMMU 
enabled.  As Eric suggested you can either rebuild your kernel with 
"CONFIG_DMAR=N", or pass the kernel the parameter "intel_iommu=off" in 
order to disable it so that it will instead just use SWIOTLB.

Thanks,

Alex