Date: Mon, 23 Nov 2009 19:42:20 +0200 From: "Yuriy A. Korobko" <administrator@shtorm.com> To: freebsd-net@freebsd.org Subject: Reducing number of interrupts from intel pro 1000 et adapter Message-ID: <1258998140.3015.34.camel@stormi-desktop>
next in thread | raw e-mail | index | archive | help
Hi, I'd like to know a way to control tx interrupts on intel pro 1000 et adapter with igb driver. Just installed one in the router and systat shows 8-9k rx interrupts and 20k tx interrupts from igb0 and igb1 adapters. Box is a router running freebsd 7.2 release, I've tried default driver from kernel source and latest from intel site, effect is the same with automatic interrupt moderation enabled and disabled. I have the same box with intel pro 1000 pt adapter which have tx(rx)_int_delay sysctls in em driver, I was able to reduce number of tx/rx interrupts to 7-8k per interface and got much more cpu idle because of less context switches with same pps. Interfacae load border# netstat -I igb0 -w 1 input (igb0) output packets errs bytes packets errs bytes colls 41438 0 37923274 51173 0 24539512 0 44827 0 41626876 53408 0 24595412 0 43300 0 39736056 53118 0 24574219 0 43146 0 40399285 53455 0 24368290 0 44827 0 42463307 53921 0 23959752 0 Here is sysctls dev.igb.0.%desc: Intel(R) PRO/1000 Network Connection version - 1.7.4 dev.igb.0.%driver: igb dev.igb.0.%location: slot=0 function=0 dev.igb.0.%pnpinfo: vendor=0x8086 device=0x10c9 subvendor=0x8086 subdevice=0xa03c class=0x020000 dev.igb.0.%parent: pci1 dev.igb.0.debug: -1 dev.igb.0.stats: -1 dev.igb.0.flow_control: 0 dev.igb.0.enable_aim: 1 dev.igb.0.low_latency: 1000 dev.igb.0.ave_latency: 4000 dev.igb.0.bulk_latency: 8000 dev.igb.0.rx_processing_limit: 1000 dev.igb.1.%desc: Intel(R) PRO/1000 Network Connection version - 1.7.4 dev.igb.1.%driver: igb dev.igb.1.%location: slot=0 function=1 dev.igb.1.%pnpinfo: vendor=0x8086 device=0x10c9 subvendor=0x8086 subdevice=0xa03c class=0x020000 dev.igb.1.%parent: pci1 dev.igb.1.debug: -1 dev.igb.1.stats: -1 dev.igb.1.flow_control: 0 dev.igb.1.enable_aim: 1 dev.igb.1.low_latency: 1000 dev.igb.1.ave_latency: 4000 dev.igb.1.bulk_latency: 8000 dev.igb.1.rx_processing_limit: 1000 And debug kernel: igb0: Adapter hardware address = 0xc796ec1c kernel: igb0: CTRL = 0x40c00241 RCTL = 0x48002 kernel: igb0: Packet buffer = Tx=0k Rx=0k kernel: igb0: Flow control watermarks high = 63488 low = 61988 kernel: igb0: Queue(0) tdh = 3023, tdt = 3025 kernel: igb0: TX(0) no descriptors avail event = 0 kernel: igb0: TX(0) MSIX IRQ Handled = 3754097484 kernel: igb0: TX(0) Packets sent = 4815628967 kernel: igb0: Queue(0) rdh = 3658, rdt = 3645 kernel: igb0: RX(0) Packets received = 7611879022 kernel: igb0: RX(0) Split Packets = 0 kernel: igb0: RX(0) Byte count = 7013625984942 kernel: igb0: RX(0) MSIX IRQ Handled = 3232986641 kernel: igb0: RX(0) LRO Queued= 0 kernel: igb0: RX(0) LRO Flushed= 0 kernel: igb0: LINK MSIX IRQ Handled = 3 kernel: igb0: Mbuf defrag failed = 0 kernel: igb0: Std mbuf header failed = 0 kernel: igb0: Std mbuf packet failed = 0 kernel: igb0: Driver dropped packets = 0 kernel: igb0: Driver tx dma failure in xmit = 0 kernel: igb1: Adapter hardware address = 0xc796dc1c kernel: igb1: CTRL = 0x40c00241 RCTL = 0x48002 kernel: igb1: Packet buffer = Tx=0k Rx=0k kernel: igb1: Flow control watermarks high = 63488 low = 61988 kernel: igb1: Queue(0) tdh = 4093, tdt = 4093 kernel: igb1: TX(0) no descriptors avail event = 0 kernel: igb1: TX(0) MSIX IRQ Handled = 10882048108 kernel: igb1: TX(0) Packets sent = 31169311987 kernel: igb1: Queue(0) rdh = 2515, rdt = 2513 kernel: igb1: RX(0) Packets received = 30747961847 kernel: igb1: RX(0) Split Packets = 0 kernel: igb1: RX(0) Byte count = 26511993282060 kernel: igb1: RX(0) MSIX IRQ Handled = 4834518320 kernel: igb1: RX(0) LRO Queued= 0 kernel: igb1: RX(0) LRO Flushed= 0 kernel: igb1: LINK MSIX IRQ Handled = 5 kernel: igb1: Mbuf defrag failed = 0 kernel: igb1: Std mbuf header failed = 0 kernel: igb1: Std mbuf packet failed = 0 kernel: igb1: Driver dropped packets = 0 kernel: igb1: Driver tx dma failure in xmit = 0
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1258998140.3015.34.camel>