Hi Donald,

  I ran a small program that uses libpcap to capture promiscuously from one 
queue on one core, it uses a 1 second interval sigalarm to monitor capture 
progress and will exit 5 seconds after no packets have been seen (basically a 
trigger once the source has stopped sending). On exit it prints out the number 
of packets observed in the run. 

I used the latest driver ixgbe-3.4.24, this was without PF_RING. The program 
simply grabbed the packets and counted bytes, it barely managed 100Megabits/s 
before it started dropping packets; the following is from a run at 
111Megabits/s.

I sent 10,000,000 packets form an external test source, packet size was 64 
bytes.

My app saw 9,562,113 packets

Some of The dropped packets are seen with ethtool -S in 

rx_missed_errors: 48331
..
rx_pkts_nic: 9951669

I used the script in "../scripts/set_irq_affinity.sh" to pin the interrupts to 
the processor.

Here's a screen scrape from 'top' for the process and the interrupt.

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
3 root      20   0     0    0    0 S 35.2  0.0  13:41.11 ksoftirqd/0        
36037 root      20   0  8616  688  588 R 25.1  0.0   0:05.03 count_pcap


Here's the log file (ps please do read on, as there's more results after the 
log).

Sep  8 11:01:57 kernel: [260638.894886] Intel(R) 10 Gigabit PCI Express Network 
Driver - version 3.4.24-NAPI
Sep  8 11:01:57 kernel: [260638.894893] Copyright (c) 1999-2011 Intel 
Corporation.
Sep  8 11:01:57 kernel: [260638.894966] ixgbe 0000:0e:00.0: PCI INT A -> GSI 38 
(level, low) -> IRQ 38
Sep  8 11:01:57 kernel: [260639.020109] ixgbe: Multiple Queue Support Disabled
Sep  8 11:01:57 kernel: [260639.020116] ixgbe: 0000:0e:00.0: 
ixgbe_check_options: RSS is not supported while multiple queues are disabled.  
Disabling RSS.
Sep  8 11:01:57 kernel: [260639.020123] ixgbe: 0000:0e:00.0: 
ixgbe_check_options: Flow Director is not supported while multiple queues are 
disabled. Disabling Flow Director
Sep  8 11:01:57 kernel: [260639.020130] ixgbe: 0000:0e:00.0: 
ixgbe_check_options: FCoE Offload feature enabled
Sep  8 11:01:57 kernel: [260639.044593] ixgbe 0000:0e:00.0: (PCI 
Express:5.0GT/s:Width x8) 00:1b:21:b5:c0:b0
Sep  8 11:01:57 kernel: [260639.044906] ixgbe 0000:0e:00.0: eth4: MAC: 2, PHY: 
15, SFP+: 5, PBA No: G18786-001
Sep  8 11:01:57 kernel: [260639.044913] ixgbe 0000:0e:00.0: eth4: Enabled 
Features: RxQ: 1 TxQ: 1 RSC 
Sep  8 11:01:57 kernel: [260639.052005] ixgbe 0000:0e:00.0: eth4: Intel(R) 10 
Gigabit Network Connection
Sep  8 11:01:57 kernel: [260639.052040] ixgbe 0000:0e:00.1: PCI INT B -> GSI 45 
(level, low) -> IRQ 45
Sep  8 11:01:57 NetworkManager[2060]: <info> (eth4): carrier is OFF
Sep  8 11:01:57 NetworkManager[2060]: <info> (eth4): new Ethernet device 
(driver: 'ixgbe' ifindex: 50)
Sep  8 11:01:57 NetworkManager[2060]: <info> (eth4): exported as 
/org/freedesktop/NetworkManager/Devices/48
Sep  8 11:01:57 NetworkManager[2060]: <info> (eth4): now managed
Sep  8 11:01:57 NetworkManager[2060]: <info> (eth4): device state change: 1 -> 
2 (reason 2)
Sep  8 11:01:57 NetworkManager[2060]: <info> (eth4): bringing up device.
Sep  8 11:01:58 NetworkManager[2060]: <info> (eth4): preparing device.
Sep  8 11:01:58 NetworkManager[2060]: <info> (eth4): deactivating device 
(reason: 2).
Sep  8 11:01:58 kernel: [260639.196124] ADDRCONF(NETDEV_UP): eth4: link is not 
ready
Sep  8 11:01:58 kernel: [260639.235301] ixgbe 0000:0e:00.0: eth4: detected 
SFP+: 5
Sep  8 11:01:58 kernel: [260640.130940] ixgbe: Multiple Queue Support Disabled
Sep  8 11:01:58 kernel: [260640.130948] ixgbe: 0000:0e:00.1: 
ixgbe_check_options: RSS is not supported while multiple queues are disabled.  
Disabling RSS.
Sep  8 11:01:58 kernel: [260640.130956] ixgbe: 0000:0e:00.1: 
ixgbe_check_options: Flow Director is not supported while multiple queues are 
disabled. Disabling Flow Director
Sep  8 11:01:58 kernel: [260640.130963] ixgbe: 0000:0e:00.1: 
ixgbe_check_options: FCoE Offload feature enabled
Sep  8 11:01:58 kernel: [260640.155466] ixgbe 0000:0e:00.1: (PCI 
Express:5.0GT/s:Width x8) 00:1b:21:b5:c0:b1
Sep  8 11:01:58 kernel: [260640.155777] ixgbe 0000:0e:00.1: eth5: MAC: 2, PHY: 
1, PBA No: G18786-001
Sep  8 11:01:58 kernel: [260640.155785] ixgbe 0000:0e:00.1: eth5: Enabled 
Features: RxQ: 1 TxQ: 1 RSC 
Sep  8 11:01:59 kernel: [260640.162810] ixgbe 0000:0e:00.1: eth5: Intel(R) 10 
Gigabit Network Connection
Sep  8 11:01:59 kernel: [260640.162852] ixgbe 0000:0f:00.0: PCI INT A -> GSI 40 
(level, low) -> IRQ 40
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth5): carrier is OFF
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth5): new Ethernet device 
(driver: 'ixgbe' ifindex: 51)
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth5): exported as 
/org/freedesktop/NetworkManager/Devices/49
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth5): now managed
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth5): device state change: 1 -> 
2 (reason 2)
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth5): bringing up device.
Sep  8 11:01:59 kernel: [260640.286831] ixgbe: Multiple Queue Support Disabled
Sep  8 11:01:59 kernel: [260640.286837] ixgbe: 0000:0f:00.0: 
ixgbe_check_options: RSS is not supported while multiple queues are disabled.  
Disabling RSS.
Sep  8 11:01:59 kernel: [260640.286843] ixgbe: 0000:0f:00.0: 
ixgbe_check_options: Flow Director is not supported while multiple queues are 
disabled. Disabling Flow Director
Sep  8 11:01:59 kernel: [260640.286850] ixgbe: 0000:0f:00.0: 
ixgbe_check_options: FCoE Offload feature enabled
Sep  8 11:01:59 kernel: [260640.286893] ixgbe 0000:0f:00.0: (unregistered 
net_device): FCoE offload feature is not available. Disabling FCoE offload 
feature
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth5): preparing device.
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth5): deactivating device 
(reason: 2).
Sep  8 11:01:59 kernel: [260640.289025] ADDRCONF(NETDEV_UP): eth5: link is not 
ready
Sep  8 11:01:59 kernel: [260640.311585] ixgbe 0000:0f:00.0: (PCI 
Express:5.0GT/s:Width x8) 00:e0:ed:ff:60:04
Sep  8 11:01:59 kernel: [260640.311678] ixgbe 0000:0f:00.0: eth6: MAC: 2, PHY: 
12, SFP+: 5, PBA No: FFFFFF-0FF
Sep  8 11:01:59 kernel: [260640.311689] ixgbe 0000:0f:00.0: eth6: Enabled 
Features: RxQ: 1 TxQ: 1 RSC 
Sep  8 11:01:59 kernel: [260640.311710] ixgbe 0000:0f:00.0: eth6: Intel(R) 10 
Gigabit Network Connection
Sep  8 11:01:59 kernel: [260640.311752] ixgbe 0000:0f:00.1: PCI INT B -> GSI 50 
(level, low) -> IRQ 50
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): carrier is OFF
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): new Ethernet device 
(driver: 'ixgbe' ifindex: 52)
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): exported as 
/org/freedesktop/NetworkManager/Devices/50
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): now managed
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): device state change: 1 -> 
2 (reason 2)
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): bringing up device.
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): preparing device.
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): deactivating device 
(reason: 2).
Sep  8 11:01:59 kernel: [260640.451779] ADDRCONF(NETDEV_UP): eth6: link is not 
ready
Sep  8 11:01:59 kernel: [260640.495549] ixgbe 0000:0f:00.0: eth6: detected 
SFP+: 5
Sep  8 11:01:59 kernel: [260640.640869] ixgbe 0000:0f:00.0: eth6: NIC Link is 
Up 10 Gbps, Flow Control: RX/TX
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): carrier now ON (device 
state 2)
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): device state change: 2 -> 
3 (reason 40)
Sep  8 11:01:59 kernel: [260640.648957] ADDRCONF(NETDEV_CHANGE): eth6: link 
becomes ready
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) starting 
connection 'System eth6'
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): device state change: 3 -> 
4 (reason 0)
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 1 of 5 
(Device Prepare) scheduled...
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 1 of 5 
(Device Prepare) started...
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 2 of 5 
(Device Configure) scheduled...
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 1 of 5 
(Device Prepare) complete.
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 2 of 5 
(Device Configure) starting...
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): device state change: 4 -> 
5 (reason 0)
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 2 of 5 
(Device Configure) successful.
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 3 of 5 (IP 
Configure Start) scheduled.
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 2 of 5 
(Device Configure) complete.
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 3 of 5 (IP 
Configure Start) started...
Sep  8 11:01:59 NetworkManager[2060]: <info> (eth6): device state change: 5 -> 
7 (reason 0)
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 4 of 5 
(IP4 Configure Get) scheduled...
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 3 of 5 (IP 
Configure Start) complete.
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 4 of 5 
(IP4 Configure Get) started...
Sep  8 11:01:59 NetworkManager[2060]: <info> Scheduling stage 5
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 5 of 5 (IP 
Configure Commit) scheduled...
Sep  8 11:01:59 NetworkManager[2060]: <info> Done scheduling stage 5
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 4 of 5 
(IP4 Configure Get) complete.
Sep  8 11:01:59 NetworkManager[2060]: <info> Activation (eth6) Stage 5 of 5 (IP 
Configure Commit) started...
Sep  8 11:01:59 avahi-daemon[2073]: Joining mDNS multicast group on interface 
eth6.IPv4 with address 10.0.0.2.
Sep  8 11:01:59 avahi-daemon[2073]: New relevant interface eth6.IPv4 for mDNS.
Sep  8 11:01:59 avahi-daemon[2073]: Registering new address record for 10.0.0.2 
on eth6.IPv4.
Sep  8 11:02:00 kernel: [260641.389586] ixgbe: Multiple Queue Support Disabled
Sep  8 11:02:00 kernel: [260641.389593] ixgbe: 0000:0f:00.1: 
ixgbe_check_options: RSS is not supported while multiple queues are disabled.  
Disabling RSS.
Sep  8 11:02:00 kernel: [260641.389600] ixgbe: 0000:0f:00.1: 
ixgbe_check_options: Flow Director is not supported while multiple queues are 
disabled. Disabling Flow Director
Sep  8 11:02:00 kernel: [260641.389618] ixgbe: 0000:0f:00.1: 
ixgbe_check_options: FCoE Offload feature enabled
Sep  8 11:02:00 kernel: [260641.389661] ixgbe 0000:0f:00.1: (unregistered 
net_device): FCoE offload feature is not available. Disabling FCoE offload 
feature
Sep  8 11:02:00 kernel: [260641.414340] ixgbe 0000:0f:00.1: (PCI 
Express:5.0GT/s:Width x8) 00:e0:ed:ff:60:05
Sep  8 11:02:00 kernel: [260641.414432] ixgbe 0000:0f:00.1: eth7: MAC: 2, PHY: 
1, PBA No: FFFFFF-0FF
Sep  8 11:02:00 kernel: [260641.414443] ixgbe 0000:0f:00.1: eth7: Enabled 
Features: RxQ: 1 TxQ: 1 RSC 
Sep  8 11:02:00 kernel: [260641.414464] ixgbe 0000:0f:00.1: eth7: Intel(R) 10 
Gigabit Network Connection
Sep  8 11:02:00 NetworkManager[2060]: <info> Policy set 'System eth0' (eth0) as 
default for IPv4 routing and DNS.
Sep  8 11:02:00 NetworkManager[2060]: <info> (eth6): device state change: 7 -> 
8 (reason 0)
Sep  8 11:02:00 NetworkManager[2060]: <info> Activation (eth6) successful, 
device activated.
Sep  8 11:02:00 NetworkManager[2060]: <info> Activation (eth6) Stage 5 of 5 (IP 
Configure Commit) complete.
Sep  8 11:02:00 NetworkManager[2060]: <info> (eth7): carrier is OFF
Sep  8 11:02:00 NetworkManager[2060]: <info> (eth7): new Ethernet device 
(driver: 'ixgbe' ifindex: 53)
Sep  8 11:02:00 NetworkManager[2060]: <info> (eth7): exported as 
/org/freedesktop/NetworkManager/Devices/51
Sep  8 11:02:00 NetworkManager[2060]: <info> (eth7): now managed
Sep  8 11:02:00 NetworkManager[2060]: <info> (eth7): device state change: 1 -> 
2 (reason 2)
Sep  8 11:02:00 NetworkManager[2060]: <info> (eth7): bringing up device.
Sep  8 11:02:00 NetworkManager[2060]: <info> (eth7): preparing device.
Sep  8 11:02:00 NetworkManager[2060]: <info> (eth7): deactivating device 
(reason: 2).
Sep  8 11:02:00 kernel: [260641.769646] ADDRCONF(NETDEV_UP): eth7: link is not 
ready
Sep  8 11:02:01 avahi-daemon[2073]: Registering new address record for 
fe80::2e0:edff:feff:6004 on eth6.*.
Sep  8 11:02:05 NetworkManager[2060]: <info> (eth6): carrier now OFF (device 
state 8, deferring action for 4 seconds)
Sep  8 11:02:05 kernel: [260646.629042] ixgbe 0000:0f:00.0: eth6: detected 
SFP+: 5
Sep  8 11:02:05 kernel: [260646.851639] ixgbe 0000:0f:00.0: eth6: detected 
SFP+: 5
Sep  8 11:02:05 kernel: [260647.090225] ixgbe 0000:0f:00.0: eth6: NIC Link is 
Up 10 Gbps, Flow Control: TX
Sep  8 11:02:05 NetworkManager[2060]: <info> (eth6): carrier now ON (device 
state 8)
Sep  8 11:02:16 kernel: [260657.874831] device eth6 entered promiscuous mode
Sep  8 11:03:11 kernel: [260712.799174] device eth6 left promiscuous mode
Sep  8 11:06:50 kernel: [260930.664527] device eth6 entered promiscuous mode
Sep  8 11:07:48 kernel: [260988.578813] device eth6 left promiscuous mode

Next I ran the same app but with no options passed to the ixgbe driver, so it 
defaulted to 64 queues; this is a 32 processor machine with Hyper Threading on.

I managed to get to 180 Megabits/s before packets were dropped.

Next I turned off Hyper Threading and then ran the driver with the default 
arguments; this doesn't seem to make any difference, if anything performance 
was slightly poorer than with it on.

Is this what you would have expected for the standard driver? Does it seem like 
its operating correctly?

Andrew


------------------------------------------------------------------------------
Why Cloud-Based Security and Archiving Make Sense
Osterman Research conducted this study that outlines how and why cloud
computing security and archiving is rapidly being adopted across the IT 
space for its ease of implementation, lower cost, and increased 
reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to