Hey Andrew,

Thanks for the detailed description.  A couple things of note:

 - When you're only using one queue ATF won't be enabled since there is only 
one queue to route all flows will be routed to it anyway.  So the 
set_irq_affinity.sh script is pretty much useless here since it affinitizies 
the queues to cpu based on cpu number.

- If you're seeing rx_missed_errors this means that the receive FIFO has 
insufficient space to store incoming packets.  Normally this is due to 
insufficient bandwidth on the IO bus.

To answer your question this is not the performance I would expect.  From the 
dmesg it looks like you have a few Ethernet devices on this system could they 
be filling up your bus?  I would also be interested in seeing your interrupt 
spread (proc/interrupts) when running with multiple queues.  Likewise the whole 
output of "ethtool -S" to see if anything else pops out.

As for your testing environment are you running back-2-back with your traffic 
generator or threw a switch?  Also what are you using to generate your traffic, 
pktgen?

Thanks,
-Don

>-----Original Message-----
>From: andrew_leh...@agilent.com [mailto:andrew_leh...@agilent.com]
>Sent: Thursday, September 08, 2011 7:47 AM
>To: Skidmore, Donald C; d...@ntop.org
>Cc: e1000-devel@lists.sourceforge.net
>Subject: RE: Problems with Dell R810.
>
>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